[[20061114194225]] 『ファイル・シート名の入った関数式を下に引っ張り』(ゆま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ファイル・シート名の入った関数式を下に引っ張りたい!(第二弾)』(ゆま)

(ファイル1)=ファイル名:[料理メニュー]

 ※シート名は【1】から連番で【50】まで続いています。(料理メニュー管理番号) 
 ※決まった『縦列』で情報が入力してあります。(材料使用データ)
 シート名:【1】の場合 
    A   B   C   D
 1

 2

 3 みかん  1

 4

(ファイル2)=ファイル名:[材料単価]

 シート名:【単価表】 
    A    B    C    D
 1 みかん  \200

 2 りんご  \50

 3 なし   \150

 4 もも   \30

 (ファイル3)=ファイル名:[メニュー材料別費用] 
    A   B   C   D   E
 1     みかん りんご なし もも

 2    【3】

 3  【5】

 4  【1】 =VLOOKUP(B1,'[料理メニュー]A4'!$A:$B,2,FALSE)*VLOOKUP(B1,'[材料単価]単価表$A:$B,2,FALSE)
 ※A列の【1】は、[料理メニュー]のシート名と同義です。

 求めたいものは、[メニュー材料別費用]B4 に入る『縦横へ引っ張ることのできる関数式』です。
 おわかりの方ございましたら、是非是非!ご教授宜しくお願い致します。

 (ゆま)


 ↓この式の
=VLOOKUP(B1,'[料理メニュー]A4'!$A:$B,2,FALSE)*VLOOKUP(B1,'[材料単価]単価表$A:$B,2,FALSE)
            ~~~~~~~~~~~~~~~~~~この部分が
 A列の同行に入力されているシート名を参照するようにしたい

 と言う事ですか?

 (HANA)

 こんにちわ。
 その通りです。
 つまり、ファイル[料理メニュー]のシート【1】を参照させ、
 かつ、上下左右に引っ張れる関数式を作りたいということです。
 宜しくお願い致します。
 (ゆな)

 >その通りです。
 と言うお答えのようですが・・・
 >※A列の【1】は、[料理メニュー]のシート名と同義です。
 と言うのを見返してみると
  
=VLOOKUP(B1,'[料理メニュー]A4'!$A:$B,2,FALSE)*VLOOKUP(B1,'[材料単価]単価表$A:$B,2,FALSE)
           参照させたいのは~~この部分ですかね?

 A4には、ファイル名とシート名が入っているのですか?
 ファイル名は入っておらず、シート名のみが入っているのですか?

 (HANA)


 紛らわしく申し訳ありません。
 =VLOOKUP(B1,'[料理メニュー]A4'!$A:$B,2,FALSE)*VLOOKUP(B1,'[材料単価]単価表'!$A:$B,2,FALSE)(一部誤り訂正)
              ~~~~~~~~~~~~~~~~~
                             この部分は、
 '[料理メニュー]【1】'! のことです。

 (ゆま)


 つまり、A4には「'[料理メニュー]【1】'」と入力されているのですか?

 どうもA4に何が入力されているのか的確につかめなくてごめんなさい。
 とりあえず前スレで
[[20061114170835]]『ファイル・シート名の入った関数式を下に引っ張りたい!』(ゆま)
 INDIRECT関数を使って
 ='[A]A1'!$A$1 
      ~~ここを参照したい場合
 =INDIRECT("'[A]"&A1&"'!$A$1")この様に書くのは
 =          '[A]  A1  '!$A$1  その式がこの様に対応しています。
                  ~~
 つまり、参照したいセルの前後に&を付け
 前後に有る直接入力されている文字を""で囲みます。

 =INDIRECT("'[A]"&A1&"'!$A$1")
           ~    ~^  ^~      ~

 と書けば、どの様な式にすれば良いのか分かりますか?

 「'[料理メニュー]A4'!$A:$B」
 この部分の参照したいセルの部分はどこにあたりますか?
 「'参照したいセル'!$A:$B」 であれば
 INDIRECT("'"&参照したいセル&"'!$A:$B")
 とすればいいと思うのですが。

 (HANA)


 あぁ、A4には
 >ファイル名は入っておらず、シート名のみが入っている
 のですね。

 そして、ファイル名が「料理メニュー」なんですよね。
 たとえば
 A1に【1】が入力されていて、
「料理メニュー」と言うファイル名の【1】と言うシート名の$A$1セルを選びたい場合
 =INDIRECT("'[料理メニュー]"&A1&"'!$A$1")
 ですよね。
 (上の式で[A]を[料理メニュー]に変更しただけです)
 今回は
 【1】が入力されているのが A1→A4
 選びたい場所が $A$1セル→$A:$B列
 に変更になったのですから、該当箇所をその様に変更してから
 最初に立ち戻って、VLOOKUP関数の中に組み込めば良いと思います。

 ・・・・上手く行きますかね?

 (HANA)


説明がわかり難くすみません・・・涙

 >「'[料理メニュー]A4'!$A:$B」
  この部分の参照したいセルの部分はどこにあたりますか?

 ⇒'[料理メニュー]1'! です。

 >「'参照したいセル'!$A:$B」 であれば
  INDIRECT("'"&参照したいセル&"'!$A:$B")

 ⇒ファイル[料理メニュー]から参照したいので、ファイル名の指定も必要です。
 ⇒VLOOKUPのなかでINDIRECTをうまく使うことができません。

 説明わかりますでしょうか?

(ゆま)


 つまり、ファイル名はA4セルに入っていないのですよね?
 ですから、その下に書き込みした内容を読んでください。

 誤解を招く書き方をしてしまっていたので言葉を足しておきます。
 「この部分の参照したいセルの部分はどこにあたりますか?」
 これは、VLOOKUP関数で使う参照先『'[料理メニュー]【1】'!$A:$B』
 と言う事ではなく、INDIRECT関数を使う事を考えたときの参照先『【1】=A4』
 のつもりでした。よって、
『'[料理メニュー]A4'!$A:$B』
                 ~~ここで良いんですよね?
 この誤解が解けたら、話が通じますか?

 >VLOOKUPのなかでINDIRECTをうまく使うことができません。
 これはどの様な事を仰りたいのかよく分かりません。
 エラーが出るのでしょうか?
 思った結果が出ないのでしょうか?
 どの様に組み込めば良いのか分からないのでしょうか?

 もしも、上手く行かないなりにも式が出来ているのなら
 それを載せてみてもらうと、何か分かるかもしれません。

 (HANA)

 ちなみに、INDIRECT関数を使って作るのは
 =VLOOKUP(B1,'[料理メニュー]A4'!$A:$B,2,FALSE)*VLOOKUP(B1,'[材料単価]単価表'!$A:$B,2,FALSE)
             ~~~~~~~~~~~~~~~~~~~~~~~~この部分ですから、完成した式はここへ戻して下さいね。

 =VLOOKUP(B1,INDIRECT("'[料理メニュー]"&・・・
 と言う式になると思いますが。

 (HANA)

 HANAさん、すみません!できました!

 =VLOOKUP(B$1,INDIRECT("'[料理メニュー.xls]"&$A4&"'!$A:$B"),2,FALSE)*VLOOKUP(B$1,[材料単価.xls]単価表!$A:$B,2,FALSE)

 はじめにエラーになって、なんか勘違いしてとんでもない方向に行ってました。。。
 たぶん、、、ダブルコーテーション抜けっぽいです。

 ありがとうございました!
 ありがとうございました!
 感謝感謝です^^

 (ゆま)
 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.