• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL・含まれる値でセルを検索して行列名を返す)

EXCEL・セル検索で行列名を返す方法

このQ&Aのポイント
  • EXCELで特定の値を含むセルを検索し、そのセルが存在する行名と列名を一括で確認する方法について教えてください。
  • 特定の値を含むセルを検索し、そのセルが存在する行名と列名を効率的に取得する方法を知りたいです。
  • EXCELで特定の文字列を含むセルを検索すると、そのセルが存在する行名と列名を一覧で表示する方法について教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

次の通りに行います。 準備 1行目に「A列」とか「B列」のように各列のタイトルをキチンと記入する A列,A2以下のセルに9/1以下の日付を記入する B2セル以降にデータを記入する 一応簡単のため,データは全て「文字列」だとする(判らなければ無視) 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim c as range  dim c0 as string  dim a as variant  dim w0 as worksheet  a = inputbox("SEARCH STRING")  if a = "" then exit sub  set w0 = activesheet  set c = w0.cells.find(what:=a, lookin:=xlvalues, lookat:=xlpart)  if c is nothing then   msgbox "NOTHING FOUND"   exit sub  end if  worksheets.add after:=activesheet  activesheet.range("A1:B1") = array("COL","ROW")  c0 = c.address  do   range("A65536").end(xlup).offset(1) = w0.cells(1, c.column).text   range("B65536").end(xlup).offset(1) = w0.cells(c.row, 1).text   set c = w0.cells.findnext(c)  loop until c.address = c0 end sub ファイルメニューから終了してエクセルに戻る データを記入したシートを開く ALT+F8を押してマクロを実行する。 >エクセルの関数でできるかどうか分かりませんが 良く寄せられるご相談の一種ですが,エクセルの関数はコタエを「1つだけ」返すモノで,「該当するリストをずらっと並べる」といった便利な関数はありません。なので探しても,通常はそういう使い方は見つかりません(他の表計算では,そういう事ができる関数を備えているモノも確かにあります)。 無理矢理すれば一応出来る計算式はありますが,通常は聞くだけで応用できないので役には立ちません。

ken_shodo
質問者

お礼

早速のご回答ありがとうございます! 実行してみたところ、見事期待していた内容が出力されました! 検索の入力フォームまで出していただき、、感動です! >良く寄せられるご相談の一種ですが, そうなんですね。。 その点「使える」内容を教えていただき、非常に助かりました。 今日のところはこれで全く問題ないのですが、 もし可能であればもう1点だけ教えてください。 複数の値について、1回で検索を実行して出力するには どう変えればいいでしょうか? 検索値1     検索値2 COL ROW    COL ROW AA  9/1      BB    9/2 AA  9/3     DD     9/3 これも出力形式はこだわりませんが、 例えば上記のようなイメージです。

すると、全ての回答が全文表示されます。

関連するQ&A