たとえば
---
No. 名前 単価
1 みかん 100
2 りんご 150
3 ばなな 200
---
などというシートを参照して
---
No. 名前 単価 個数 金額
1 みかん 100 3 300
2 りんご 150 3 450
3 ばなな 200 3 600
---
というシートを作成しています。
(入力するのはNo.と個数で、個数は固定です。)
上のシートに
4 いちご 300
というものが追加されたら、自動的に下のシートに
4 いちご 300 3 900
というのを追加したいのですが、どうやったら実現できるのでしょうか。
Sheet1に No. 名前 単価が A B Cと入っているとします。
名前と単価の位置にそれぞれ
名前
=VLOOKUP(A2,Sheet1!$A:$C,2,FALSE)
A2は、Noです。
単価
=VLOOKUP(A2,Sheet1!$A:$C,3,FALSE)
金額
=C2*D2
で、これを いちごまで 入れればいいです。
VLOOKUPではありませんが、
Sheet2に次のような数式を入れますと、ご希望の動作になります。
| A B C D E
------------------------------------------------------------------------------------------------------------------------------------------
1 | No 名前 単価 個数 金額
2 | =IF(Sheet1!A2="","",Sheet1!A2) =IF(Sheet1!B2="","",Sheet1!B2) =IF(Sheet1!C2="","",Sheet1!C2) =IF(C2="","",3) =IF(C2="","",C2*D2)
3 | =IF(Sheet1!A3="","",Sheet1!A3) =IF(Sheet1!B3="","",Sheet1!B3) =IF(Sheet1!C3="","",Sheet1!C3) =IF(C3="","",3) =IF(C3="","",C3*D3)
4 | =IF(Sheet1!A4="","",Sheet1!A4) =IF(Sheet1!B4="","",Sheet1!B4) =IF(Sheet1!C4="","",Sheet1!C4) =IF(C4="","",3) =IF(C4="","",C4*D4)
5 | =IF(Sheet1!A5="","",Sheet1!A5) =IF(Sheet1!B5="","",Sheet1!B5) =IF(Sheet1!C5="","",Sheet1!C5) =IF(C5="","",3) =IF(C5="","",C5*D5)
・・・ ・・・ ・・・ ・・・ ・・・
・・・ ・・・ ・・・ ・・・ ・・・
・・・ ・・・ ・・・ ・・・ ・・・
最初から余計に何行も入れておくというのはあまりスマートなやり方じゃない気がします…
>これだと、上シートにイチゴが追加されたときに、下シートをイチゴのところまで伸ばさなければいけない気がしますが
llusallさんの回答のように、最初から 数式を入れておけば自動的に出るでしょう。
これが イヤでしたらマクロ(VBA)を使うしかないですね。
VBAを使うのでしたら、それようのソースを提示できます。
VBAですか…
自力で作ってみます。
これだと、上シートにイチゴが追加されたときに、下シートをイチゴのところまで伸ばさなければいけない気がしますが…