• ベストアンサー

助けてください。VLOOKUPやOFFSETでは解決できません(><)

papayukaの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

データの持ち方を工夫した方が良いでしょうね。  ぶりしゃぶ材料  ぶり(薄切り)  ほうれん草  酒  ぶりしゃぶ手順  (1)ぶりは   (2)次に  (3)ほうれ のようにして、A1に名称を入れた時に  A4 では =VLOOKUP($A$1&"材料",データ範囲,2,0)  A5 では =VLOOKUP($A$1&"材料",データ範囲,3,0)  B4 では =VLOOKUP($A$1&"手順",データ範囲,2,0)  B5 では =VLOOKUP($A$1&"手順",データ範囲,3,0) あとは、IFやISERROR 又は ISNA等併用して、データが無い場合は空白表示にさせます。 データ構造がそのままなら、VBAでやっちゃうとか。 試すなら新規シートで。 1)レシピのシート名 を「レシピ」、データのシート名 を「データ」とします。 2)データシートはA1から始まるタイトルありの表で、A列のデータでソートされているとします。 3)レシピシートのシート名タブを右クリックし、コードの表示で出てきたVBE画面に下記のコードを貼り付けます。 4)レシピシートのA1を入力すると切り替わります。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range, cnt As Long  If Target.Cells(1, 1).Address <> "$A$1" Then Exit Sub  Worksheets("レシピ").Range("A4").CurrentRegion.ClearContents  cnt = 4   With Worksheets("データ")    For Each r In .Range(.Range("A1"), .Range("A65536").End(xlUp))     If r.Text = Target.Cells(1, 1).Text Then       Worksheets("レシピ").Range("A" & cnt).Value = r.Offset(0, 1).Text       Worksheets("レシピ").Range("B" & cnt).Value = r.Offset(0, 2).Text       cnt = cnt + 1     End If    Next r   End With End Sub

関連するQ&A

  • VLOOKUP関数について

    VLOOKUP関数についての疑問なのですが、 ...........A...............B 1..品名コード|.品名..| 2..A123...........|..お茶.| 3..A456...........|...水....| 4..A789...........|..お酒.| というデータがあったとします。 VLOOKUP関数を使用して、 このデータから 品名コードを入力して品名を検索することは できるのですが、品名を入力して品名コードを検索できません。 データのA列とB列の位置を入れ替えれば検索が可能になりますが…。 VLOOKUP関数は検索するキーのデータが一番左側にないと機能しないのでしょうか? どなたかご教授お願いいたします。

  • VLOOKUP関数 列番号の設定の仕方教えて下さい

    VLOOKUP関数の列番号を 1、2、とかではなく、 計算して列番号を設定することはできますか? シート2 に入っているデータを参照して シート1 に関数をいれて、表示させたいと思っています。 シート2 データは 3行目に、項目(品名、(1)材料名、(2)数量、(2)材料名、(2)数量、...、(10)材料名、(10)数量) A列、 B列、 C列、 D列、 E列、...、 M列、 N列 クッキー、小麦粉、100、卵、1、...、砂糖、20 クラッカー、小麦粉、100、米粉、10、...、りんご、0.2 が入っていて、4行目から100行目くらいまでデータがはいっています。 シート1 の セルA5に品名を入力すると、 シート2の(1)材料名がセルA6に、 (1)数量がセルB6に、 (2)材料名がセルA7に、 (2)数量がセルB7に、 ... (10)材料名がセルA15に、 (10)数量がセルB15に、 入るように作りたいのですが、VLOOKUPの列番号を COLUMNやINDEXなど試してみましたが、エラーばかりで うまくできません...VLOOKUPでは無理なのでしょうか? どなたか詳しい方教えてください。よろしくお願いします・

  • ExcelのVLOOKUP関数について教えて下さい

    AのシートにA列に番号、B列に会社名を入力、しB以降のシートは月毎別に作成し、番号を入力して会社名を引っ張ってくると言う形のVLOOLUP関数を作りました。 番号はバラバラに入力するので、1の後に50があったりその後に10があったりします。 今までそれで上手く会社名が引っ張ってこれたのですが、先日24行目に5という数字を入れたら、 「#N/A」のエラーが出ました。 エラー内容は「無効な値のエラー」と出ていますが、Aのシートには5のデータは入力されており、20以降の数字を入れると会社名が正しく表示されます。 関数が間違っているのかと思い、別シートと比べましたが同じでした。 ちなみに関数は次の通りです。Aのシートのデータは2行目から番号1→147行目に番号146のデータが入っています。 =IF(A24="","",VLOOKUP(A24,店名!B22:C167,2,FALSE)) 何がおかしいのか全く分からず、途方に暮れております。 アドバイスをお願いします。

  • VLOOKUPにつきまして

    業務で処理していて困っている点がありまして質問があります。 B1に「A1」とコードを入力するとB2に「数字」が表示するよう、 =IF(B1="","",VLOOKUP(B1,$K$3:$S$50,1,FALSE))と計算式をしました(ちなみに「K3」~「S50」にデータを入力しました)。すると「#N/A」と表示してしまいます。何が原因でしょうか? アドバイスをお願いします。

  • エクセル SUMPRODUCT と OFFSET

    いつもお世話になります。 SUMPRODUCT関数で集計したいのですが、OFFSET関数を組合せてA1に関数を入力し、右にひっぱるだけで36ヶ月分を集計したいと思い、下記の計算式を入力したのですが#VALUE!になり困ってます。 A1=SUMPRODUCT((OFFSET(data!$A$1,1,COLUMN(A1)*3-3,99,1)=$G$1)*(OFFSET(data!$B$1,1,COLUMN(A1)*3-3,99,1)=$H$1),(OFFSET(data!$C$1,1,COLUMN(A1)*3-3,99,1))) dataシートには、A列:商品CD、 B列:営業所CD、 C列:売上金額 の3列のデータが、36か月分108列あります。 集計するシートのG1に商品CDを、H1に営業所CDを入力すると、A1~A36に集計結果を返したいのですが、教えてくださいませんか

  • VLOOKUPがうまく行かない

    VLOOKUP関数でSheet1のA2セルに=VLOOKUP(B2,Sheet1!$A$1:$B$22,1)と入力すると、012というコードが変えてこないといけないのですが、Sheet1の1行目の最終行のデータを持ってきてしまいます。昇順に並べ替えもしているのに、何故でしょうか?

  • VLOOKUPについて教えてください。

    皆さんこんにちは。 今、エクセルファイルがA,Bと2つあります。エクセルファイルBには製品No.がB列、製造日時がC 列(B列の詳細データ)に入力されているデーターベースとなっています。ここでエクセルファイルAの A1のセルにエクセルファイルBに記入されている製品No.を入力してエクセルファイルAのB1のセ ルにエクセルファイルBのC列の製造日時を表示したいのですがどうもうまく行きません。どなたか教 えていただけませんか?

  • Excel 2007のVLOOKUP関数について

    Excel 2007のVLOOKUP関数について教えてください。 A列に(大根、人参、キャベツ)の3項目をプルダウンメニューで 選べるように設定します。 A列にある項目を選択した時に B列にそれぞれの数字が自動で表示されるように 設定したいと思います。 大根→1 人参→2 キャベツ→3 A列のプルダウンメニューは「データ入力規則」の元に値に 直接項目を入力します。 VLOOKUP関数を使用すると思いますが、 どのような方法で使用すればよいのかわかりません。 教えてください。

  • VLOOKUPで#N/Aになってしまいます

    VLOOKUP関数を使って 商品名をA1に入力すると、コードを検索するようにしています。 VLOOKUP(A1,'商品1'!$A$2:$C$60000,2,0) と入力しているのですが、 商品名によっては、ヒットしたり#N/Aとなったりします。 商品名を間違えて入力していることはないです。 なにか式に足りないものがあるのでしょうか? それともデータが多すぎなのでしょうか? それとも商品名が複雑すぎるのでしょうか? '商品1'のA列に入力されている商品名は ローマ字と数字とハイフンが混ざった商品名です。 並び替えで昇降順にしています。 '商品1'には60000行ほどのデータがあります

  • 美味しいもやしレシピはないでしょうか?

    家に頂いたもやしが大量にあります。 ただ今ダイエット中なので夜のみもやし料理にしようかな・・・と思っているのですが。 何かいいレシピはないでしょうか? いつも もやしとササミをレンジでチンしてポン酢で食べる もやしと茸など適当にスープを作って食べる コンソメ味でやっぱりレンジでチン・・・ このメニューばかりで飽きました。 ヘルシーでボリュームのある何かいいアイデアがありましたらよろしくお願いします!