自分のお店を開く時の心構えとは? >>

マクロ初心者です。

シートAからシートBのデータを取得する際の質問です。

1.
添付ファイルの左側のシート(シート:損益計算)ように
シート:損益計算 B1~B18まで1~10まであります。
これはシート名に対応します。(シート名:1~10)

シート:損益計算のC4,5,6に書かれているデータが
あります。これを(シート:損益計算)C9に入れる値を
添付ファイルの右側から入れる値を(シート:1)
から選択して、(シート:損益計算)C9に入れたいです。
具体的には(シート:損益計算)C9に入れるデータは
添付ファイル右側の(シート:1)1205はB2~22
で(シート:1)C2~22の中では9500は(シート:1)のC12に
相当しますので1205の9500のC価格である(シート:1)の
147を(シート:損益計算)C9に入れたいです。

まずどのような関数を使って入れれば良いか教えてください。


2.
また、次に(シート:損益計算)のD4,5,6からL4,5,6まで終わらせて
(シート:損益計算)のB10の2、つまりシート2から同様のデータを
取得する気でいます。それをB18のシート10まで反復計算させる
事が最終目的です。

大変申し訳ないのですが、1だけでも良いので教えていただけないでしょうか。

以上、よろしくお願いいたします。

「マクロに関して 画像が見づらいので再度質」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (3件)

ご質問の意味が、シート名がB9セル以下に入力されていて、そのシートの中でC列から右に5行目の値をB列の値から、6行目の値をC列から検索し、4行目のデータがC価格の場合は対応するシートのA列のデータから、それ以外の場合は(O価格の場合は)D列の値から抽出したいということなら、C9セルに以下のような関数を入力して右方向及び下方向にオートフィルすれば表示することができます。



=INDEX(IF(C$4="C価格",INDIRECT($B9&"!$A:$A"),INDIRECT($B9&"!$D:$D")),MAX(INDEX((INDIRECT($B9&"!$B$2:$B$66")=C$5)*(INDIRECT($B9&"!$C$2:$C$66")=C$6)*ROW($B$2:$B$66),)))

ただし上記の式は数式が複雑になるので、4から6行目の3つのデータに合致するデータが無い場合のエラー処理をしていませんので注意してください。
    • good
    • 0

損益計算書の4~8行には、品名 原価 売価 ? 利益 が入っていて9~40までは日々の損益が入るのですか?



Vlookupが使えると思うのですが、右側のシートの1行目の文字と数字が読めないので検索条件を立てられないです。何を計算(加減乗除だけではない)するか説明が足りないです。

この回答への補足

みづらくてすいません。
画像を2つつければ良いのですができませんでした。

>損益計算書の4~8行には、品名 原価 売価 ? 利益 が入っていて9~40までは日々の損益が入る
>のですか?

損益計算書の4~8行の
・4行目には(C価格 または P価格)が入ります。
・5行目には1205(12年5月)や1206または1207が入ります。
・6行目には7000,7250・・・12000等の250円刻みの数字(権利行使価格)が入ります。

シート1の
・A行にはA1にC価格が書いてあり、その下のA行には値段が書いてあります。
・B行のB1には限月と書いてあり、1205や1206または1207が入ります。
その時にB2~B22までは1205 B24~B44までは1206 B46~B66までは1207です。
(画像では見えないですが)
・D1には権利行使価格と書いてあり、D2から下はD2に7000 D3に7250、
D4に7500・・・D22に12000と書いています。またD24~D44までも同様に
7000~12000の250円刻みで書いてあり、D46~D66までも同様の7000~12000
が書いてあります。
・D行のD1にはP価格 D2から下は値段が書いてあります。

そして私が実施したいのは、まずは損益計算書のC4(C価格)とC5(1205)と
C6(9500)に書かれているのと同じものをシート1から選択したいのです。
具体的には 損益計算書(C4)=シート1(A行) 損益計算書(C5)=シート1(B2~B22)
損益計算書(C6)=シート1(D12,D33,D54)に書かれています。
その中で損益計算書のC4,5,6に書かれているものはシート1のA12になるので
その値を損益計算書のC9に入れたいと思っています。これが終われば損益計算書の
D,E,F・・・とマクロの記録でとほかの方が書かれているのですが、
この作業も実際マクロの記録でどのようにしたら良いか思いつかず質問した
次第です。

以上、よろしくお願いいたします。(もし言葉足らずでしたらメールで
ファイルを送付いたします。)

補足日時:2012/04/30 06:45
    • good
    • 0
この回答へのお礼

ありがとうございました。
できました。

お礼日時:2012/04/30 17:35

マクロのチェックをしてみてくください。


マクロツールをクリックするとマクロウィンドが



マクロのチェック方法です。
・マクロをクリックし表示されたマクロの一つを選んで
編集ボタンをクリックするとマクロのコードが表示されます。
この左端をクリックすると●が表示されます
(もう一度クリックすると●は消えます。
コードウィンドウを閉じてマクロを実行すると
このポイントで一時停止します。この後F8で処理は一行づつ
進みます。
最初コードの一覧でめんくらいますが少しづつ解ってくると思います。
辻の質問にはこのコードも添えてください。

行頭のシングルコーテーションはコメント行です。













まくろの
    • good
    • 0

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


人気Q&Aランキング