プロが教えるわが家の防犯対策術!

質問失礼致します。
Z1セルに入っている数字(1~12)と、U列に入っている数字(1~12ランダム)で、U列の中にZ1セルと同じ数字が入っていれば、そのUセルと同じ行のI列から数値を取ってきたいという関数なのですが

Z1に1が入っていた場合、U列の1と11に反応してしまいます。
1だけに反応するようにしたいのですが、どうすればよろしいでしょうか?


=IF(Z1="","",IFERROR(INDEX($I$1:$I$100,SMALL(IF(ISNUMBER(FIND(Z1,$U$1:$U$100)),ROW($I$1:$I$100)),ROW(I1))),""))

質問者からの補足コメント

  • HAPPY

    本当に有難うございました!!無事に欲しい表を完成させることができました。

    No.3の回答に寄せられた補足コメントです。 補足日時:2016/03/22 12:00

A 回答 (4件)

なんと!過去3回の質問の中に解決策がある。


しかし、根本的に数式を理解せずに使うことが問題。

よって、作業列案(添付図参照)
Y2セルに
=SUM($Z$2=U2,Y1)
下へオートフィル
論理式がTRUEのとき 1となり加算される

個数分の連番を作る。AA2セルに
=IF(MAX(Y:Y)<ROW(AA2)-1,"",ROW(AA2)-1)
下へオートフィル

AB2セルに
=IF(AA2="","",INDEX(I:I,MATCH(AA2,Y:Y,0)))
下へオートフィル

作業列(Y列)は理解しやすくするため、並べ替えや行の挿入/削除に対応した数式にはなっていないので注意。
「エクセル、11と1の区別」の回答画像3
この回答への補足あり
    • good
    • 0
この回答へのお礼

ご回答有難うございます。勉強不足で申し訳ございません…
数字というのが月で、12か月分同時に表示させたいので作業列もそれだけ必要ということでしょうか?

お礼日時:2016/03/22 08:49

こんばんは!



数式を拝見する限りでは
わざわざ配列数式にする必要はないように思えます。

U列に重複データがないという前提であれば
=IFERROR(INDEX(I:I,MATCH(Z1,U:U,0)),"")
としてみてはどうでしょうか?

※ U列に重複がある場合、
最初の行のデータが表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

お早うございます。ご回答有難うございます!
U列はランダムに重複する数字がたくさんあります…すみません;;不足でした

お礼日時:2016/03/22 08:50

結果の収納先がZA列と仮定した場合、


ZA1=if($Z$1=$U1,$I1,"") 、これをZA列の他行にコピーする。

意図にあっていますか?
    • good
    • 0
この回答へのお礼

ご回答有難うございます。ちょっと違うものが出てきてしまいました;;私の理解不足かもしれません

お礼日時:2016/03/22 08:24

数字かどうかを判断した上で、数字なら数値化して比較すれば良いんじゃないの?

    • good
    • 0
この回答へのお礼

ご回答有難うございます。やってみます!!

お礼日時:2016/03/22 08:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!