システムメンテナンスのお知らせ

たとえば列で

1郵便番号
2123-4567
3電話番号
401-1234-5678
5趣味
6かくかく
7特技
8しかじか

と表示されているとします。
ここから郵便番号を検索し、郵便番号の下のセルの値を表示させるにはどうすればいいでしょうか?

また、範囲指定は同じでも、電話番号であればその下の値が表示される方法です。

VLOOKUPやHLOOKUPではかならず検索される場所が範囲の上端や左端なので悩んでいます。

よろしくお願いします。

gooドクター

A 回答 (4件)

lookup系の関数では、検索して見つかった値が返ってきますが、見つ


けた場所を返す関数もあります。また、範囲内の特定の場所の値を返
す関数もあります。

=match(検索する値, 探す範囲, 探し方)
=index(範囲, x行目, y列目, 領域番号)

これで例えば
=match("郵便番号", A1:A8, 0)
とやると 1 が返ってきますので、もう1行下ってことで+1して
index関数に代入する
=index(A1:A8, match("郵便番号", A1:A8, 0)+1, 1, 1)
と、123-4567が返ってくるわけです。

表の端っこ以外のところで検索しなくちゃ行けない場合に、よく使う
方法ですので、覚えといて損はないですよ。
    • good
    • 20
この回答へのお礼

解決しました!!
ありがとうございました。

お礼日時:2005/06/17 02:49

 #1です。

私は次のような方法を試してみました。

 A7を左上端として、ご質問のような表が入っているとします(仮に表の下端をエクセルの14行目とします)。

(1)関数を入力します。以下、「セル番地・・・ 数式」。

 A1・・・ =IF(A2="","条件入力",IF(ISERROR(A4),"不明",A4))
 B1・・・ =IF(B2="","",IF(ISERROR(B4),"不明",B4))
 B2・・・ =IF(AND(A2<>"",ISERROR(C4)),"該当なし",IF(ISERROR(C4),"",C4))
 C2・・・ =IF(COUNTIF(5:5,">0")>=2,"※複数の該当データ","")
 A4・・・ ="条件 : "&HLOOKUP(1,6:14,MAX(5:5),0)
 B4・・・ ="結果 : "&HLOOKUP(1,6:14,MAX(5:5)+2,0)
 C4・・・ =HLOOKUP(1,6:14,MAX(5:5)+3,0)
 A5・・・ =IF(ISERROR(MATCH($A2,A7:A14,0)),0,MATCH($A2,A7:A14,0))
 A6・・・ =COUNTIF($A5:A5,">0")

(2)A5とA6を表の右端の列まで(オートフィルで)コピーします。

(3)A2に条件を入力し、B2に結果が出るかを確かめます。

(4)うまくいったら、4行目から6行目までの行幅をゼロにして行を隠します。

(補足)
 A2に、ある項目の結果を入力すると、B2にその一つ下の項目の結果が出ます。
 表の行を増やした場合、関数の中の14という数字を表の下端の行数に変更します。
 該当データが複数の場合、最も左にあるデータが優先的に表示されます。

 お時間があれば試してみてください。
    • good
    • 5
この回答へのお礼

試してみようと思ったのですが、
ややこしくて理解できませんでした。
今度時間があるときに使ってみます。
ありがとうございました

お礼日時:2005/06/17 02:53

範囲をずらせばいいのでは?


検索するのが郵便番号なら2行目ですよね
=HLOOKUP(検索値,$2:$8,3,FALSE)
これで2行目を検索して、対応する列の4行目(電話番号)を表示になります。

別の方法
=LOOKUP(検索値,$2:$2,$4:$4)
検索値を2行目から検索して、対応する4行目を表示
ただし、2行目を昇順にする必要があります。

=INDEX($2:$8,2,MATCH(検索値,$2:$2,0)-1)
MATCH関数で列位置を検索してINDEX関数で対応するデータを表示
    • good
    • 4
この回答へのお礼

上記の二つは試していたのですがだめでした。
3つ目はためさせていただきました。解決しました。
ありがとうございました。

お礼日時:2005/06/17 02:51

 郵便番号の下のセルの値というのは、電話番号の値ということでしょうか?もしそうであるなら、実は先程私なりに作ってみて、うまくいきました。

しかし残念ながら出勤時間が迫っており、夜までご説明する時間がありません。今日の夜にでも間に合えばお答えできるんですけどね(>◇<)。
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング