=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)
一番シンプルなのは以下の数式。
=(A1="x")+(B1="x")*2+(C1="x")*4+1
マニアックに配列数式を使うと...
=SUM((A1:C1="x")*2^(COLUMN(A1:C1)-1))+1
※数式を入力し[Ctrl]+[Shift]+[Enter]で確定する
もういっちょマニアックに...
=BIN2DEC(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C1&B1&A1,"1","0"),"o","0"),"x","1"))+1
※事前に[ツール]メニューから[アドイン]で[分析ツール]にチェックを入れる
2番目なら列が増えても数式は範囲を変更するだけでOK。
3番目はもし"o"と"1"が"0"で、"x"が"1"だったとしたら
=BIN2DEC(C1&B1&A1)+1 でOK。
あ、そっか、3番目を応用すると、これも有り。
=8-BIN2DEC(SUBSTITUTE(SUBSTITUTE(C1&B1&A1,"o","1"),"x","0"))
てな感じです。(2番目以降は複雑なので参考までに...)
2つ目以降は何が起こってるのかすらわかりません(苦笑)
1つ目もどこにもIFがないのにうまく行っているのが不思議です。
ほんとにいろんな方法があるんですね。
(だから他人が作ったファイルを修正すると気が狂いそうになるんです)
ありがとうございました。
--------------------------------------------
数式は、質問一覧に表示される時に強制改行されないんですね。
他の方に迷惑をかけてしまったかも…。
なるほど…。そうですね(笑)
最近、「○か×か」を判定する機会が多く、
その都度入力モードを変えて「まる」「ばつ」と打つのが面倒なので、
いつの間にかoとxで代用するようになりました(笑)
0・1でもいいんですが、普通の人(?)が見て直感的に○×っぽいものがいいかと。
今回は○の中でも◎があったので「◎は1でいいわっ!」となったのでした…。