- 締切済み
Excel : データを部分一致で参照したい
こんにちは。 部分一致の方法をご存知でしたら教えてください。 以下のような二つのシートがあります。 <シート1> セルA 山田太郎 木村次郎 佐藤花子 <シート2> セルA セルB セルC 山田 太郎 03-1234-5678 木村 次郎 03-****-***** 佐藤 花子 03-****-***** シート1にシート2の電話番号を参照して表示させたいのですが、 シート2には苗字と名前が別のセルになっていて、 完全一致ができません。 シート2に1セル足して、苗字名前を両方表示させてもいいのですが、 できるだけ、シート2はいじらずに、苗字だけ一致させるか、あるいは二つのセル(苗字と名前)を参照して、シート1に電話番号を表示させる方法さがしていますがうまくいきません。どなたか詳しい方がいらっしゃいましたら、ご教示いただけませんか。よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ ◆Sheet1のB1の式 B1=INDEX(Sheet2!$B$1:$B$10,MATCH(A1,INDEX(SUBSTITUTE(JIS(Sheet2!$A$1:$A$10)," ",),),0)) ★下にコピー ★ただし、同姓同名があった場合は、Sheet2の上の行のデータを表示します
- ionatsu
- ベストアンサー率33% (1/3)
申し訳ないです、入力する数式のsheet1をsheet2でお願いします。 タイトルを読んで判断するに、部分一致で参照する方法をお探しかと思い、このやり方をお勧めしましたが、このやり方だと、例えばシート2の4行目に 山田 三郎 0120-123-987 というのがあるとしても、 シート1の4行目には山田太郎さんの電話番号が表示されてしまいます。(部分一致で、一番最初にあったものを返してしまう為です。) 完全一致の方法に関しては、下にやり方がすでにアップされているようなので控えておきます。
お礼
回答ありがとうございました。 お礼がこのように遅れて済みませんでした。 一度お礼を書いたつもりだったのですが、うまくアップ できていなかったようで、すみません。 助かりました。
- zap35
- ベストアンサー率44% (1383/3079)
Sheet1のC1セルの式は以下の通りです。 Sheet2の名字、氏名の前後の空白が半角か、全角かがはっきりしませんので、一応両方Nullに置き換えるようにしました。 Sheet2のデータ範囲は実際のシートに合わせて修正して下さい =INDEX(Sheet2!C:C,MAX(INDEX(($A1=SUBSTITUTE(SUBSTITUTE(Sheet2!$A$1:$A$3&Sheet2!$B$1:$B$3," ","")," ",""))*ROW(Sheet1!$A$1:$A$3),))) ただしSheet2で同じ姓+名が二回以上出現する場合は、下の行の番号を取得しますのでご承知おきください。
お礼
回答ありがとうございました。 お礼がこのように遅れて済みませんでした。 一度お礼を書いたつもりだったのですが、うまくアップ できていなかったようで、すみません。 助かりました。
- ionatsu
- ベストアンサー率33% (1/3)
お答えします。 シート1のセルB1に対して、 =VLOOKUP(A2,Sheet1!$A:$C,3,TRUE) と入力されるとよいかと思われます。 VLOOKUP関数において、4つめの引数TRUEを入れると、完全一致ではなく、部分一致で検索してくれます。 回答だけなら以上です。以下、詳細は補足にて・・・
お礼
回答ありがとうございました。 お礼がこのように遅れて済みませんでした。 一度お礼を書いたつもりだったのですが、うまくアップ できていなかったようで、すみません。 助かりました。
- mu2011
- ベストアンサー率38% (1910/4994)
次の数式は如何でしょうか。 表サイズはA1:C10としていますので調整して下さい。 シート1のC1に=INDEX(Sheet2!C:C,SUMPRODUCT(CONCATENATE(Sheet2!$A$1:$A$10,Sheet2!$B$1:$B$10)=A1)*ROW(Sheet2!$A$1:$A$10))として下方向にコピー
お礼
回答ありがとうございました。 お礼がこのように遅れて済みませんでした。 一度お礼を書いたつもりだったのですが、うまくアップ できていなかったようで、すみません。 助かりました。
お礼
回答ありがとうございました。 お礼がこのように遅れて済みませんでした。 一度お礼を書いたつもりだったのですが、うまくアップ できていなかったようで、すみません。 助かりました。