![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.5ベストアンサー
- 回答日時:
No.4です。
ご質問者は当初
>同じNoで、最も早い処置日から90日間処置日が記録されなければ、
>最も早>い処置日に「+」を表示し、それ以外は「-」を表示したい
と仰っていました。
しかし、補足説明で、
>3行目の352(処置日2021/12/4)は、その後7行目の同Noで
>2022/2/1と90日以内の処置がありますので”-”となります。
>7行目はその後90日以内の処置が無いので”+”となります。
と仰っており、当初の説明と矛盾しています。
①No.352 2021/12/04 -
②No.352 2022/02/01 +
つまり、上記の①②のデータがあったとき、ご質問者の補足説明では上記のように表示することになりますが、この例で、同じNo.352の最も早い処置日は①の2021/12/04です。ですから当初説明に従えば②は「それ以外」に該当し、「-」が表示されることになってしまいます。
補足説明がご質問者の真意だとすると、当初の条件で回答しようとした皆さんの回答がご質問者の希望に沿わない結果になるのは、ある意味当たり前です。
前置きはさておき、補足説明のように条件を変更すると「+または-を表示すべき対象日以降、90日以内に同じ番号の処置がなければ+それ以外は-を表示する」
ということになり、「最も早い処置日」は関係ないことになります。
そういった条件で数式を考えると、添付画像のようにC2に
=IF(SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100<=B2+90)*($B$2:$B$100>B2))=0,"+","-")
という数式を記述し、下方向へコピーすればよいことになります。
なお、数式はデータの範囲を100行目までとしたものですので、実際のデータ範囲にあわせて数式の範囲を調整してください。
また、私の前回回答の数式を適用したところ「#VALUE!」が表示されてしまうとのとこですが、前回の添付画像で明らかなように、当方ではエラーにはなりません。エラーになるのは
(1)データに不適切なものがある
(2)数式に問題がある
のどちらかです。
ご質問者は(1)を疑って、A列のNo.に10桁のものがあり「大きすぎるのでは」とお考えになったようですが、私の見解は(2)です。
数式の範囲に「見出し行」を含めているのではないですか?
見出し行はデータではないので、前回の数式は、これを含めた範囲で数式を作成すると「#VALUE!」が表示されてしまいます。
但し、今回の数式は見出しを含めた範囲を指定しても「#VALUE!」になりません。
![「EXCELで次の数式を教えてください。」の回答画像5](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/4/142736_6384cb40cc1dd/M.png)
この回答へのお礼
お礼日時:2022/12/05 15:26
先週一週間、PC作業が出来ず、返信が遅れてしまい大変失礼いたしました。
教えていただきました数式でうまくいきそうです。お忙しいと思いますが、わざわざご教授いただき、大変ありがとうございました。
No.4
- 回答日時:
ご質問者の説明では不明な点が2つあります。
(1)同じNoで同日複数回処置することはないのでしょうか?
(2)もし、(1)があるとすると最も早い処置日が2つあるとき、その時点で最初の処置日から90日間の処置ありと考えるのでしょうか?
添付画像をご覧ください。
画像①ではNo952が2022/5/20の処置日のものが2つあり、2022/10/1が1つあります。
このようなケースでは2022/5/20に「+」がつくのかつかないのかというのが上記質問の意味です。
そもそも、このようなケースは発生し得ないか、最初の処置日から90日間に2回の処置があるので「+」をつけないのであれば、画像①のC2セルの数式
=IF(SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100-90<B2))=1,"+","-")
という数式を記述し、下方向へコピーすればよいと思います。
そうではなく、前述のケースでNo.952の2022/5/20の双方に「+」をつける場合は画像②のD2セルのように、
=IF(SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100<>B2)*($B$2:$B$100-90<B2))=0,"+","-")
という数式を記述し、下方向へコピーすればよいと思います。
※上記の2つの数式はデータの範囲を100行目までとしたものですので、実際のデータ範囲にあわせて数式の範囲を調整してください。
![「EXCELで次の数式を教えてください。」の回答画像4](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/142736_6381c4ddad49e/M.png)
No.3
- 回答日時:
以下を満たすなら C2 は「+」
{=SUM((A:A=A2)*(B:B<B2+90))=1}
参考) 配列数式
https://support.microsoft.com/ja-jp/office/%E9%8 …
No.2
- 回答日時:
添付図ならびに説明文では、表示条件が十分理解できかねますが、
№が複数存在し、1番古い処置日から90日以降に2番目の処置日が存在する場合は +表示し、それ以外の同じ処置日は - 表示という数式になります。
№が複数存在しない場合はブランク表示です。
理解が異なる場合は、完成形の添付図の提示をしてください。
C2=iferror(if(or(countif(A:A,A2)=1,B2=""),"",if(and(small(transpose(filter(B:B,A:A=A2)),1)=B2, small(transpose(filter(B:B,A:A=A2)),1)+90<small(transpose(filter(B:B,A:A=A2)),2)),"+","-")))
下へフィルコピー
![「EXCELで次の数式を教えてください。」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/543163576_637df7dfdcd97/M.jpg)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) Excel処理について、教えて下さい。 下記表は、サンプルです。(実際には千件以上あります) A列に 6 2023/03/16 18:21
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を 5 2022/11/12 09:33
- その他(ソフトウェア) 先日からDigiBestTVで「デバイスなし」と表示され、TVを見れなくなりました。 2 2023/01/07 15:36
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
エクセル(勝手に太字になる)
-
Excel、市から登録している住所...
-
EXCELで 一桁の数値を二桁に
-
エクセルの項目軸を左寄せにしたい
-
数字の途中に「-」ハイフンを...
-
Excelで半角の文字を含むセルを...
-
エクセルかグーグルスプレッド...
-
空白セル(関数入ってます)を...
-
エクセルでの特別な文字を上に...
-
文字列に数字を含むセルを調べたい
-
エクセル 同じ値を探して隣の...
-
「B列が日曜の場合」C列に/...
-
エクセル 時間帯の重複の有無
-
エクセルで、列の空欄に隣の列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセルVBA、別ブックへ転記す...
-
エクセル 文字数 多い順 並...
-
エクセル(勝手に太字になる)
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
エクセルの表から正の数、負の...
-
「B列が日曜の場合」C列に/...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
Excel、市から登録している住所...
-
エクセル 同じ値を探して隣の...
-
EXCELで 一桁の数値を二桁に
-
エクセル初心者です 関数の入れ...
-
A列がない・・・A列が非表示に...
-
オートフィルターをかけ、#N/A...
-
エクセルで、列の空欄に隣の列...
おすすめ情報
複数の方から、早々のご助言ありがとうございます。返信遅れてしまい失礼いたします。
図の例で行くと3行目の352(処置日2021/12/4)は、その後7行目の同Noで2022/2/1と90日以内の処置がありますので”-”となります。7行目はその後90日以内の処置が無いので”+”となります。「同じNoで90日以内の最新の処置日が”+”となる」といったほうがわかりやすいでしょうか?
ご丁寧にアドバイスいただき大変ありがたく思います。どうかよろしくお願いします。
同じNoで同日複数回の処置はありません。ですので上記のケースは①が当てはまると思いますが、入力してみるとエラーメッセージ(#VALUE!)されてしまいます。数式の検証ではA列のNo(実際には10ケタあります)に下線が引かれますが、数字が大きすぎるのでしょうか?
ありがとうございます。IF関数と組み合わせると、+、-の表示は出るのですが、上記で補足しましたように「90日以内で最新の処置日に+」とはなりませんでした。またご助言いただけましたら幸いです。
早々の回答をいただいた後、返信遅くなってしまい申し訳ありません。上記で補足しましたように「90日以内で最新の処置日を+」とはなりませんでした。また、ご助言いただけたら幸いです。