=IF(OR(C1="o",C1=1),IF(OR(B1="o",B1=1),IF(OR(A1="o",A1=1),1,2),IF(OR(A1="o",A1=1),3,4)),IF(OR(B1="o",B1=1),IF(OR(A1="o",A1=1),5,6),IF(OR(A1="o",A1=1),7,8)))
A1:C8に "o" か 1 か "x" が入っています。
それぞれの行ごとに、 o 1 x の組み合わせを見て D列に 1~8 の数字を表示させています。
ex) A1=o B1 =o C1=o → D1=1
ex) A1=o B1 =o C1=1 → D1=1
VBAやマクロは使わないで、すっきりまとめられないでしょうか?
=IF(C1="x",4,0)+IF(B1="x",2,0)+IF(A1="x",1,0)+1
で、どうでしょう
えっ。ウソ!なんで!?←正直な気持ち。
期待通りの結果になってます。
まったく思いつかなかった方法なので、あとで順を追ってみます。
ありがとうございました。
以下の式でも同じ結果が得られると思います。
=IF(OR(C1="o",C1=1),0,4)+IF(OR(B1="o",B1=1),1,3)+IF(OR(A1="o",A1=1),0,1)
1番さんのもそうなんですが、条件によって返す数字を足していくんですね。
「条件によって返す数字」を見極めるられるのがすばらしいと思います…。
ありがとうございました。
【1】Sheet2に以下のデータを作成しておきます。
列A 列B
111 1
11o 1
1o1 1
1oo 1
o11 1
o1o 1
oo1 1
ooo 1
x11 2
x1o 2
xo1 2
xoo 2
1x1 3
1xo 3
ox1 3
oxo 3
xx1 4
xxo 4
11x 5
1ox 5
o1x 5
oox 5
x1x 6
xox 6
1xx 7
oxx 7
xxx 8
【2】セルD1に以下の数式を入力します。
=VLOOKUP(A1&B1&C1,Sheet2!$A$1:$B$27,2,FALSE)
VLOOKUP関数!忘れてました。
(というか過去に挫折して封印してました。以降力技で…)
こういうときに使えるものなんですね。
希望通りの結果になりました。
この機にHELPと格闘してみます。
ありがとうございました。
=8-IF(OR(C1="o",C1=1),4,)-IF(OR(B1="o",B1=1),2,)-IF(OR(A1="o",A1=1),1,)
ではどうでしょうか。
引き算していらっしゃる…。
ひとつの答えを出すのに、本当にいろいろな方法があるものですね!
ありがとうございました。
えっ。ウソ!なんで!?←正直な気持ち。
期待通りの結果になってます。
まったく思いつかなかった方法なので、あとで順を追ってみます。
ありがとうございました。