- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- Nouble
- ベストアンサー率18% (330/1783)
此方は如何でしょうか? セルB10に書き込み、 縦横にフィルしてください =IFERROR(offset($A$3,match(true(),index($A10=$A$ 4:$A$7,,),0),match(true(),index(B$9=$b$3:$e$3,,),0 ),1,1),"") データの扱い量が違うので index文よりoffset文の方が 僅かに早い かも,知れません 今回は エクセル2007以降を 対象に書きました お使いのものが 2003以前の ものだった場合 其の旨 お知らせ頂ける と、助かります 解説 & 豆知識 エクセルでは実はfail<TRUE なのです また、 定数配列内の文字列データの場合 演算を重ねていく内 同じか否かの評価に 文字列の先頭しか 評価対象にしない そんな ものがあります 配列数式の文字列演算結果を あてにし比較すると 危険ですね 加えて match文では降順または昇順 此に並んでいる必要がある の、ですが 同時に 検索がヒットした時点で 検索を終了する と、いう仕様も あります 通常 trueとfailが混在している ブール値の羅列は 降順から昇順、昇順から降順、 こう切り替わる場所か混在し 同時に trueで始まる場合とfailで始まる場合が ある訳ですが 一度trueが見つかれば その後にfailがあっても trueを見つけた時点で 検索が終了するため 検索時に 昇順から降順へ 切り替わる場所にまで 差し掛からず 昇順と降順の混在に エクセルは気づきません なので 一見ダメそうな此の式が 正しく動作する と、言う訳です 但し match文、small文、large文、MAX文、MIN文、 等は、 配列数式演算結果を 取り扱いデータ対象として 扱えません ので、 擬似的でも定数配列に 置き換える必要が 出てきます 其の任を果たしているのが index文です 不必要に見えて 外してしまうと動かなくなる 何故? と、 なりがち なのですが こういう働きが ある訳です
お礼
ありがとうございました。 いろいろ試してみたいと思います。
- bunjii
- ベストアンサー率43% (3589/8249)
- msMike
- ベストアンサー率20% (364/1804)
B10: =INDEX(B$4:E$7,MATCH(A10,A$4:A$7,0),MATCH(B$9,B$3:E$3,0))
お礼
ありがとうございました。 助かりました。
お礼
ありがとうございました。 いろんな表で試してみたいと思います。