教えて!gooグレードポイントがdポイントに!

このようなデータが、sheet1〜sheet3まであるとします。
(合計2000行くらい)

それを1番左の文字列(ハンバーグ定食など)を入力することで、その行ごと(価格、重量ごと)抽出する方法を教えて欲しいです。(1番左の文字列以外から検索するつもりはありません)

sheet2とsheet3のデータの抽出結果もsheet1に表示させたいです。

*全く同じデータがある場合は、それらを全て抽出させたいです。

*「海鮮」のようにそのセルに含まれた文字列だけで抽出させたいです。


お願いします。

「このようなデータが、sheet1〜she」の質問画像
教えて!goo グレード

A 回答 (5件)

VLOOKUP(ブイ・ルックアップ)は、表を縦方向に検索し、特定のデータに対応する値を取り出すExcel関数です。


=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
検索の型は、TRUEでいいと思います。
この関数を、価格、重量欄に入力すれば上手くいくのではないでしょうか。

もう1つ、980円のセルに、「ハンバーグ定食」という名前をつけてそれを検索する方法が、ありますが、実際私はプルダウンで検索するようにしているので使えるのかはわかりません。
    • good
    • 0

マクロで一つ一つをチェックした方が簡単な気がします。



例えば、
Sub nnb()
Application.ScreenUpdating = False

l = 4: fw = Cells(2, 5)
Set sh = Sheets(1)
sh.Range("E5:I20000") = ""
For i = 1 To 3
With Sheets(i)
ll = .Cells(5000, 1).End(xlUp).Row
For j = 2 To ll
If InStr(.Cells(j, 1), fw) > 0 Then
l = l + 1
sh.Cells(l, 5) = i: sh.Cells(l, 6) = j
sh.Cells(l, 7) = .Cells(j, 1)
sh.Cells(l, 8) = .Cells(j, 2)
sh.Cells(l, 9) = .Cells(j, 3)
End If
Next
End With
Next
Application.ScreenUpdating = True
End Sub

Sheet1のE2に抽出したい文字列をいれて、上のマクロを動かせば、
下の図のようになります。
「このようなデータが、sheet1〜she」の回答画像4
    • good
    • 0

PowerQueryを使えば

    • good
    • 0

これにこたえるほど、無駄なことはないですよ。


データなのに海鮮丼と海鮮風など同じ単語があればとか、無理な話。
2000レコードが3シートもあるなら特にID持たせて、重複を取り除かなければ、意味のないデータで作業になります。
あとで困るのは、そのデータを信じている人。
    • good
    • 1

こんにちは



レイアウト以外はよくわからないので、勝手に以下のように解釈しました。
 「指定のキーワードをA列に含む行だけを表から抽出する」
多分、当たらずとも遠からずと思いますので、ヒントにでもなればと・・
当たっている部分があれば、適当に応用してください。


添付図では、
・A:C列を元のデータ、E:G列を抽出データと仮定しています。
・E1セルをキーワード指定用のセルとしてあります。
・E2セルに
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A:$A)/(FIND($E$1,$A:$A)>0)/($E$1<>""),ROW(A1))),"")
の関数式を入力し、E2:G2にフィルコピーの後、E2:G2を下方にフィルコピーしてあります。
「このようなデータが、sheet1〜she」の回答画像1
    • good
    • 0

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

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

教えて!goo グレード

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

このカテゴリの人気Q&Aランキング