[[20151127012405]] 『IF関数の簡略化』(モタボ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数の簡略化』(モタボ)

恐れ入ります、ご教授願います。

A1セルは入力規制でA〜Jまで10個の入力リストがあります。
B1セルはA1セルを参照して値を返したいのですが、、、

A1セルがAもしくはB、もしくはCなら1を、同じく
DもしくはE、もしくはFなら2を、GもしくはHなら3を、、、
したいのです。

私の稚拙な関数知識では、、、
=IF(OR(A1="A",A1="B",A1="C"),1,IF(OR(A1="D",A1="E",
A1="F"),2,IF(OR(A1=....となり、関数が長くかつ美しくありません。
もっと簡略化するにはどんな関数にすれば宜しいでしょうか。

また上記ではAもしくはB、もしくはCとしておりますが、
AかつBかつCなら1を、DかつEかつFなら2とする関数も
あわせてご教授願えませんでしょうか。

どうぞよろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 入力(つまり、その値を評価すべきセル)は A1 なんですよね?

 >>AかつBかつCなら1を、DかつEかつFなら2

 たとえば AかつBかつC というのは A1 の値がどんな場合に真になるのですか?????

(β) 2015/11/27(金) 02:13


あっ、大変失礼いたしました。
A1=AかつBかつCなんてありえませんでした。。。。

単純に=IF(OR(A1="A",,,の場合だけではなく、
=IF(AND(A1="A",,,とした場合のIF関数も知りたかった
だけなのですが、大変お粗末でした。

AかつBかつCは忘れていただき、AもしくはB、もしくはCの場合の
簡略化した関数を教えて頂けませんでしょうか。
(モタボ) 2015/11/27(金) 02:22


 > =IF(OR(A1="A",A1="B",A1="C"),1,

 これだけなら =IF(OR(A1={"A","B","C"}),1, という書き方もあるけど、
 ここは別途に対応表を作って、VLOOKUP 関数を使うのがいいと思いますよ。

	F	G
1	A	1
2	B	1
3	C	1
4	D	2
5	E	2
6	F	2
7	G	3
8	H	3
9	I	4
10	J	4

 =IF(A1="","",VLOOKUP(A1,F1:G10,2,FALSE))
 
 
 ところで本当にA1は「A〜J」の1文字なの?

 だったら対応表は値の変わり目だけにして

	F	G
1	A	1
2	D	2
3	G	3
4	I	4

 =IF(A1="","",VLOOKUP(A1,F1:G4,2,TRUE))

  または、対応表なしでも

 =IF(A1="","",MATCH(A1,{"A","D","G","I"},1))

 IF関数だけなら

 =IF(A1="","",IF(A1<"D",1,IF(A1<"G",2,IF(A1<"I",3,4))))

 とか?
(笑) 2015/11/27(金) 03:27 式1個追加 03:37

 3つづつなら

 =IF(A1="","",INT((FIND(A1,"ABCDEFGHIJ"&A1)-1)/3)+1)
 
(GobGob) 2015/11/27(金) 08:10 ⇒ 8:11修正

 >A1セルがAもしくはB、もしくはCなら1を、同じく 
 >DもしくはE、もしくはFなら2を、GもしくはHなら3を、、、 

 3つづつじゃないかw。

 =IF(A1="","",MID(1112223344,FIND(A1,"ABCDEFGHIJ"),1)*1)
 
(GobGob) 2015/11/27(金) 08:18

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.