『1のときと2のときで、計算した結果を場合分けする』(ゼラオラ)
IFSとANDで組んでみたのですが、上手くいかなかったので相談させてください。
上手に説明できていなかったら申し訳ございません。よろしくお願いいたします。
(要約)
A1が 1 のとき、B1-C1の結果が 「330未満 は 記入なし(白紙)」「330以上 は 1」「400以上 は 2」「500以上 は 3」とし、
A1が 2 のとき、B1-C1の結果が 「530未満 は 記入なし」「530以上 は 1」「600以上 は 2」「700以上 は 3」としたいです。
(詳細)
◆A1が 1 のとき、
・開始時間(B1)-終了時間(C1)が 「330未満」 の場合 「記入なし」 例)1300-1600 は 300 なので記入なし ・開始時間-終了時間が 「330以上」 の場合 「1」 例)1300-1630 は 330 なので1 ・開始時間-終了時間が 「400以上」 の場合 「2」 例)1300-1700 は 400 なので2 ・開始時間-終了時間が 「500以上」 の場合 「3」 例)1300-1800 は 500 なので3
◆A1が 2 のとき、
・開始時間-終了時間が 「530未満」 の場合 「記入なし」 例)1000-1500 は 500 なので記入なし ・開始時間-終了時間が 「530以上」 の場合 「1」 例)1000-1530 は 530 なので1 ・開始時間-終了時間が 「600以上」 の場合 「2」 例)1000-1600 は 600 なので2 ・開始時間-終了時間が 「700以上」 の場合 「3」 例)1000-1700 は 700 なので3
これらを例えば D1 で判定してもらえるようにするには、どのような関数を使えばよいでしょうか?
お分かりになる方がいらっしゃいましたら、どうぞよろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
A1が1か2のどちらかだとすれば
D1セル
=IFNA(MATCH(C1-B1,IF(A1=1,{330,400,500},{530,600,700}),1),"")
(!) 2025/05/01(木) 13:02:25
=LET( a,200*(A1-1), b,330+a, c,b+70, d,c+100, num,B1-C1, IFS(num<b,"",num<c,1,num<d,2,num>=d,3) )
こちらでいかがでしょうか。 「時間」との記載ありますが数値として記載されているのですよね? (TKG) 2025/05/01(木) 13:16:19
(TKG)さんもありがとうございました。
マクロ?はまだ上手く理解できていないので、今回は(!)さんの関数を使おうと思っています。
マクロとかプログラミングとか組めるのってかっこいいですよね!
ご教示いただき、ありがとうございました!
(?)さんもご指摘ありがとうございました。
自分の関数があまりにも汚かったので、こちらに提示して下手に混乱させても良くないと思い、書くのをやめてしまいました。
人様にお見せしても問題ないくらいの関数を作れるように頑張ります!
(ゼラオラ) 2025/05/01(木) 16:43:43
皆さま、本当にありがとうございました!
(ゼラオラ) 2025/05/01(木) 16:45:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.