こんにちは~
同じ行に○は複数あるんですよね。
○が複数ある場合、No.4さんの数式だとうまくいかないと思うのですが‥
( 右端ではなく、左端の○を検索しますから )
それと、同じ行に △とか×も混在していますが、○だけが対象なのでしょうか?
要は↓が不明です。
・記号が○とか△に関係なく、いちばん右端の記号を検索するのですか?
それとも、△とか×は無視して、いちばん右の○を検索するのですか?
・記号はすべて手入力ですか、それとも数式を使って表示しているのですか?
**********
日付データが B3:K3、記号が B4:K4の範囲内にあるとします。
下の中から該当する数式を A4セルに入れてみてください。
( コピー&ペーストしてください )
**********
■ ○とか△に関係なく、いちばん右端の記号の場合
◆記号は手入力
=INDEX($B$3:$K$3,,MATCH("*",B4:K4,-1))
または、記号が1つも入力されていない場合のエラーを非表示にするなら
=IF(COUNTA(B4:K4),INDEX($B$3:$K$3,,MATCH("*",B4:K4,-1)),"")
◆記号は数式を使って表示させている( 空白は、数式の"" を使っている場合 )
=INDEX($B$3:$K$3,,MAX(INDEX((LEN(B4:K4)>0)*COLUMN(B3:K3)-1,0)))
または、記号が1つも表示されていない場合のエラーを非表示にするなら
=IF(COUNTIF(B4:K4,"*?"),INDEX($B$3:$K$3,,MAX(INDEX((LEN(B4:K4)>0)*COLUMN(B4:K4)-1,0))),"")
★ COLUMN(B2:K2)-1 の -1は、データが B列から始まっている場合です。C列から始まっていれば -2、D列から始まっていれば-3、‥のようにしてください。
**********
■ △や×は無視して、いちばん右の○の場合
=IF(COUNTIF(B4:K4,"○"),INDEX($B$3:$K$3,,MAX(IF(B4:K4="○",COLUMN(B4:K4)-1,""))),"")
と入れて、配列数式ですので Ctrl+Shiftキーを押しながら、Enterで確定してください。
数式が{ }で囲まれたらOK
★ 囲まれなかったら NGですので、F2キーを押して編集モードにしてから、もう一度Ctrl+Shiftキーを押しながら、Enterで確定してください。
( 配列数式はこの式だけで、これ以外はフツーに Enterで確定です )
★ COLUMN(B2:K2)-1 の -1は、データが B列から始まっている場合です。C列から始まっていれば -2、D列から始まっていれば-3、‥のようにしてください。
いずれの数式も、必要なだけそのまま下にフィルコピーすればOKです。
数式を入れたセルの表示形式は、《日付》にしてください。
範囲は、実際の表に合わせて変更してください。
補足される場合は、できるだけ具体的にお願いします。
データがどの列からどの列まであるのか、など。
また、上記数式でうまくいかなかった場合、どの数式を入力したのか、そのままコピーして提示してください。
お礼
今PCで実際に例題をやってみました。配列の考え方がとても良く理解できました。感動しました! 本当に、どうもありがとうございました。
補足
ものすごくよく分かりました。shiotan99さんは、ものを教えることの天才ですね!!shiotan99は、エクセル関数をどのような教科書で学ばれたのですか?もし差し支えなければ教えて頂けませんでしょうか・・・。