• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL 値に近い前後の文字列を表示)

Excelで値に近い前後の文字列を表示する方法

このQ&Aのポイント
  • Excelを使用して、値に近い前後の文字列を表示する方法を教えてください。
  • 質問者はExcelで作業を行う際に、指定した値に近い前後の文字列を表示する必要があります。現在のスキルや知識では実現できず、困っている状況です。質問者はVLOOKUP関数を試しましたがうまくいかず、INDIRECT関数も考えましたが使い方が分からず困っています。どのようにして入力した値の前後の文字列を表示すれば良いのか、教えてください。
  • Excelで指定した値に近い前後の文字列を表示する方法を知りたいです。VLOOKUP関数やINDIRECT関数を試しましたが、うまくいかず困っています。どのようにすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (774/1619)
回答No.3

補足だけでは、どんなものを作っていいかわかりません。 まずここを締め切って、新しい添付図を付けて、質問しなおしてください。 こう入力したらこうなるというサンプルを複数つけてもらったほうがいいです。 路線がたくさんあるということは、路線ごとにシートを作るということでしょうか。 A:B 京浜東北線、C:D 山手線と横に並べるのでしょうか。 F1に路線とありますが、路線別にシートを作って選択するではだめなのですか。入力するにしても、直接入力は大変だし、間違える可能性もあります。あまり使いやすいとは思えないのですが。関数だけでは無理、マクロが必要と思われます。 F2に上下方向、とありますが、いるのですか? 上下方向を入れても、駅の上下(F4とF5)が入れ替わるだけです。 また、関数だけでやろうとすると、式が複雑にになりすぎると思います。 空いている領域をワークエリアとして使っていいですか? マクロの使用は可能ですか? 複雑すぎてできない可能性もあります。私もタダでやる以上、あまり時間をかけられません。 H4,H5 はVLOOLUP でもできます。と書きましたが、VLOOKUP ではできません。訂正します。綴りも間違っていました。

toufugasuki
質問者

お礼

ありがとうございました。 もう一度整理して質問をします。 もしお時間ありましたらご教示お願いいたします。

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>仕事で至急作成しなくてはいけないのですが、スキルがなく困っています。 誰に指示された仕事ですか? 指示されたときに「私にはできません」と答えれば良かったのではありませんか? 時間が十分あるときに上司や先輩から指導を受けるのが良い方法です。 できないことは「能力不足でできません」と答えた方が上司も先輩も納得するでしょう。 >vlookではうまく出来ず、 「vlook」ではなく「VLOOKUP関数」です。(用語は省略せずに正しく使いましょう) VLOKUP関数は検索する値が一番左の列に無ければなりませんので距離と駅名が反転しないと使えません。 >ネット検索でIndirect がいいのかと思ったのですが、 INDIRECT関数も不適当です。(関数のヘルプで確認してください) OFFSET関数またはINDEX関数とMATCH関数を組みわせれば抽出可能と思います。 自力で解決するには関数のヘルプを活用してください。 貼付画像は数式バーのFxボタンをクリックしたときに表示される「関数の検索」(右側)とVLOOKUP関数のヘルプ(左側)です。 関数の自習に使えると思います。

toufugasuki
質問者

お礼

ありがとうございました。 もう一度整理して質問をします。 もしお時間ありましたらご教示お願いいたします。

  • SI299792
  • ベストアンサー率47% (774/1619)
回答No.1

図の通り、距離は降順・昇順に並んでいるものとします。 F4:=INDEX(A4:A7,MATCH(F3,B4:B7,-1)) F5:=INDEX(A4:A7,MATCH(F3,B4:B7,-1)+1) H4:=INDEX(C4:C7,MATCH(H3,D4:D7,1)) H5:=INDEX(C4:C7,MATCH(H3,D4:D7,1)+1) 問題は、1.3 など、同一距離があった場合です。この場合、F5が東京になってしまいます。困るなら、次の式にして下さい。 F5:=IF(F3=INDEX(B4:B7,MATCH(F3,B4:B7,-1)),F4,INDEX(A4:A7,MATCH(F3,B4:B7,-1)+1)) H5:=IF(H3=INDEX(D4:D7,MATCH(H3,D4:D7,1)),H4,INDEX(C4:C7,MATCH(H3,D4:D7,1)+1)) VLOOLUP では降順の検索ができません。H4,H5 はVLOOLUP でもできます。 INDIRECTでもできないことはないですが、複雑になる上、移動ができなくなります。 INDEX のほうが簡単でいいです。

toufugasuki
質問者

補足

早々に回答くださりありがとうございます。 同一距離まで考えが至らず助かりました。 説明不足で後出しになり申し訳ないのですが、 添付した図には京浜東北だけですが、 他にも路線がたくさんあります。 また説明上H列を使用しましたが、 F1に路線、 F2に上下方向、 F3にkmを入力すると、 上りの場合はABの範囲から、 下りの場合はCDの範囲から、 F3のkmの前後の駅名を表示させたいのです。 上りの場合、秋葉原~神田間、 下りの場合、神田~秋葉原間 また画像の貼り直しができると思い、 添付図を削除してしまいました。 わかりにくくて申し訳ないのですが、 よろしくお願い申し上げます。

関連するQ&A