エクセルの関数でできるかどうか分かりませんが、、
下記のように表があり、特定の値を含むセルが複数存在しています。
“A列” “B列” “C列” ・・・
9/1(日) 111aaa 222bbb 333ccc
9/2(月) 444ddd 111eee 555eee
9/3(火) 666fff 777ggg 111hhh
・
・
・
このときに、「111」を含むセルを検索すると
そのセルが存在する【行名(日付)】と【列名】をずらーーっと
下記にように返す方法はなにかありますでしょうか??
“A列”の9/1(日)
“B列”の9/2(月)
“C列”の9/3(火)
・
・
尚、上記のように出力できなくても、
特定の文字列を含む行名と列名が
一括で確認できれば問題ありません。
(VBAとかだとできるのでしょうか、、)
可能な限り急ぎ方法を知りたいのですが、
ググってもvlookup、indexの解説ばかりで困ってしまっていますので、
どうかアドバイスのほど宜しくおねがいします。
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つだけ」返すモノで,「該当するリストをずらっと並べる」といった便利な関数はありません。なので探しても,通常はそういう使い方は見つかりません(他の表計算では,そういう事ができる関数を備えているモノも確かにあります)。
無理矢理すれば一応出来る計算式はありますが,通常は聞くだけで応用できないので役には立ちません。
早速のご回答ありがとうございます!
実行してみたところ、見事期待していた内容が出力されました!
検索の入力フォームまで出していただき、、感動です!
>良く寄せられるご相談の一種ですが,
そうなんですね。。
その点「使える」内容を教えていただき、非常に助かりました。
今日のところはこれで全く問題ないのですが、
もし可能であればもう1点だけ教えてください。
複数の値について、1回で検索を実行して出力するには
どう変えればいいでしょうか?
検索値1 検索値2
COL ROW COL ROW
AA 9/1 BB 9/2
AA 9/3 DD 9/3
これも出力形式はこだわりませんが、
例えば上記のようなイメージです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) 入力と同時に桁数を詰める 3 2022/09/11 20:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列の結合を空白行まで実行
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
B列の最終行までA列をオート...
-
Changeイベントでの複数セルの...
-
VBAを使って検索したセルをコピ...
-
エクセルでフォームのチェック...
-
VBA 値と一致した行の一部の列...
-
VBAで、特定の文字より後を削除...
-
VBAで10行おきにセルの下に罫線...
-
VBAコンボボックスで選択した値...
-
データグリッドビューの一番最...
-
マクロ 最終列をコピーして最終...
-
VBAのFind関数で結合セルを検索...
-
rowsとcolsの意味
-
空白セルをとばして転記
-
追記する列を増やしたい 2つの...
-
【VBA】複数行あるカンマ区切り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報