- ベストアンサー
Excel表検索について
- Excel表で特定の値を検索する方法について教えてください。
- 行と列に対応する値を取得する関数式を教えてください。
- Excelの表内の特定セルを検索する方法についてお聞きしたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
はい。 間違い: MATCH(A8,$A$1:$B$6,0) 正解: MATCH(A8,$A$1:$A$6,0) 検索対象となるセル範囲は,あくまでもA1からA6までです。セル結合してあっても,B列のセルは数式には使いません。ワザワザ使うと#N/Aのエラーになります。 お話ししている数式(A8,A9に修正して再掲) =INDEX($A$1:$L$6,MATCH(A8,$A$1:$A$6,0),MATCH(A9,$A$1:$L$1,0)) 間違って作成している数式: =INDEX($A$1:$L$6,MATCH(A8,$A$1:$B$6,0),MATCH(A9,$A$1:$L$1,0)) といったところを,間違えて作成しています。 なお,0.125の有無は無関係です。
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
回答した数式は,セル結合してあっても正しく作動するように作ってあります。 もう一度添付図: P2: =INDEX($A$1:$L$6,MATCH(O2,$A$1:$A$6,0),MATCH(N2,$A$1:$L$1,0)) そもそも出来る方法をお話ししているのですから,単に「できません」では「回答したとおりにすれば出来ますよ」としか,アドバイスのしようがありません。お互いに二度手間ですし,役に立ちません。 もっと正しく具体的に「どこ番地のセルにどんな風にどんなデータの内容で入れてある」とか,「回答を見て,自分ではこれこれの数式を書いてどこ番地のセルに入れました」とか,結果して「こんな内容が表示されてしまいました」といった,あなたのエクセルの実際の姿を目に見えるように教えてください。 そうすれば,その配置ならここが違うのでこういう式にしましょうとか,実際のデータが「こうなっている」のが問題ですねとか,もっとびしっと解決につながる良いアドバイスもすぐに寄せられますよ。 まだダメな時の要点: ・表の正しいセル番地は? ・実際に各セルに入れてる正しい内容は? ・あなたが書いて失敗した実際の数式は? ・どういう結果が欲しかったのに,どうなってしまってダメだったのか? 回答者に想像させるんじゃなく,あなたの目の前に起きていることが見えるように説明してください。
補足
大変失礼致しました。 おっしゃる通りですね。 今以下のように入力しております。 0.125 2 5 8 10 15 ←1行目 0.35 1.1 1.2 1.3 1.4 1.5 ←2行目 0.40 1.2 1.3 1.4 1.5 1.6 ←3行目 0.45 1.3 1.4 1.5 1.6 1.7 ←4行目 0.50 1.4 1.5 1.6 1.7 1.8 ←5行目 0.55 1.5 1.6 1.7 1.8 1.9 ←6行目 ↑ ↑ ↑ ↑ ↑ ↑ AB CD EF GH IJ KL 列 列 列 列 列 列 0.5 ←A8マス 10 ←A9マス 答え ←A10マス 0.125という数字はこの表の見出し番号として付けております。 ここにたいしてA10マスに =INDEX($A$1:$L$6,MATCH(A8,$A$1:$B$6,0),MATCH(A9,$A$1:$L$1,0)) と入力しております。 この入力の結果で MATCH(A8,$A$1:$B$6,0) →#N/A MATCH(A9,$A$1:$L$1,0) →7 という答えが返ってきます。 行方向については7という数字が帰ってきているので 7行目という意味かなという理解をしており、検索でき たかなとおもっているのですが、列方向がどうしても #N/Aという答えになってしまいます。 0.125という数字を消してみましたが、結果は同じで した。 具体的に書いて頂いた式と同じ書き方をしていると 思っているのですが、どの辺に問題がありますでし ょうか?上記内容でわかりますでしょうか?
- imogasi
- ベストアンサー率27% (4737/17069)
INDEX関数と2の列と30の行をとらえるためにMATCH関数を(関数式のなかの)2箇所で使う。エクセル解説書にも普通載っている標準的な課題ですよ。 うまく行かないのがおかしい。 H1,I2に2と30を入れて J1にでも =INDEX($A$1:$F$100,MATCH($H$1,$A$1:$F$1,0),MATCH($I$1,$A$1:$A$100,0)) で1.3になりました。 $F$100や$A$100は検索表のデータ行数にあわせて修正する。 F$1も検索表の列数にあわせてください。
- keithin
- ベストアンサー率66% (5278/7941)
J2: =INDEX($A$1:$F$6,MATCH(I2,$A$1:$A$6,0),MATCH(H2,$A$1:$F$1,0)) VLOOKUPやHLOOKUP関数を,上述の式の一部を流用して使っても出来ますので練習してみてください。
補足
回答ありがとうございます。 教えていただいた式を入力したのですが、うまくいきません。 ちなみにこの計算式ですが、マス目を結合しているとうまくいかな いことってありますでしょうか? いま私が使用しているシートは他の入力内容と一緒にしているので 1つの数字のところが、2マスを結合して使用しています。 なので、上記サンプルで回答して頂いた表でいうとA~F列ではなく A~L列まで使用しています。
お礼
お手数おかけしましたが、解決しました。 ありがとうございます。