質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

解決済

1回答

487閲覧

VLOOKUP応用 複数シートにまたがる場合

opensee

総合スコア6

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2023/02/03 22:33

こんにちは。
VLOOKUP関数について質問させていただきます。

今回実現させたいことは、複数の参照先の数値を抽出しその合計値を返す関数を作ることです。
よくVLOOKUP関数のひな型で出てくるような棚卸表をスプレッドシートで作成しています。
現在使っている棚卸シートは、商品に番号を振りその番号と一致すればその商品の金額が返ってくる関数を使っています。実際のコードを書きます。
=iferror(VLOOKUP(A4,'シート1'!$B$2:$D$900,3,FALSE),"0")

そして今回やりたいことですが、複数の同商品の商品コードからヒットした棚卸数を合計した数を関数の入れたセルに返す計算式を作ることです。
上の関数で言うと、A4と同じ情報をB2~D900から探して一致すれば3列目の数値を返すことになっていますが、これが複数のシートにまたがって同商品(同コード番号)がある時にどうすればよいか分かりません。

例を挙げると、シート1のA1にりんご、B2にりんごの商品コード(12345とします)C3に数えた数(5個とします)
シート2のA25にりんご、B25に りんごの商品コード(12345)C25に8個とします。
シート3のA1にりんご、B1にりんごの商品コード(12345)C1にシート1とシート2のりんごの合計数を参照(ここでは13個になる)
このシート3のA1の数値をシート1とシート2から探して一致した場合、一致した全ての商品の合計数を返すようになる関数を知りたいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/02/03 23:50 編集

[投稿2023/02/04 07:33時点の投稿内容に対するコメント] 「例を挙げると、シート1のA1にりんご、B2にりんごの商品コード(12345とします)C3に数えた数(5個とします)」 →ななめに配置しているのは何か意味があるのですか? また、「A4と同じ情報を"B2~D900"から探して一致すれば」とあるのに、なぜシート1のA1(つまり「1行目」)にデータがあるのでしょうか。 説明するのが難しい内容であれば、サンプルのスプレッドシートの公開リンク(誰でも見られるようにしたリンク)をアップロードしたほうが、間違いも少なく、また回答する方も試しやすいです。
guest

回答1

0

ベストアンサー

質問文記載の文章全体から読み取れる合理的かつ一般的な要件は、下記である可能性が高いので、下記を前提として数式を回答します。


・シートの構造
<シート1>
1行目は、ラベル(A1セル「商品名」、B1セル「商品番号」、C1セル「棚卸個数」、D1セル「金額」)

2行目以降900行目までは実際のデータが1行ずつ並んでいて、
・A列に、商品名(文字列)、
・B列に、商品番号(数字)、
・C列に、棚卸個数 (数字)、
・D列に、金額 (数字) ( ※"金額"とあるが"単価"を意味するものと仮定)
が記入されている。

ABCD
1商品名商品番号棚卸個数金額
2りんご123455170
3バナナ200011100
4みかん30001340

<シート2>
シート1と同じ構造である。データは異なる。

ABCD
1商品名商品番号棚卸個数金額
2りんご123458170
3すいか4000113000
4..................

<シート3>
合計表示用のシート。
A列2行目以降に、検索対象の商品番号が入力済みである。

AB
1商品番号棚卸個数合計
212345
313000
414000
要件(推測)

シート3のB列2行目以降に下記のような数式を入力したい。

シート3のB列2行目以降に入力する数式の要件:
「(シート3の)各行のA列に入力されている商品番号を、シート1のB列およびシート2のB列から検索し、各シートの検索対象の棚卸個数(C列)を合計した数字を、そのセルに表示する」
検索対象行数範囲は、2行目から900行目までである。

・数式を入れた結果の例

AB
1商品番号棚卸個数合計
21234513
312346
412347

シート1の商品番号「12345」の棚卸個数合計 は 5
シート2の商品番号「12345」の棚卸個数合計 は 8
よって 5 + 8 = 「13」 が表示されるようにしたい。


解答例

シート3のセルA2に下記の数式を入力します。

=SUMIF('シート1'!$B$2:$B$900,A2,'シート1'!$C$2:$C$900)+SUMIF('シート2'!$B$2:$B$900,A2,'シート2'!$C$2:$C$900)

3行目以降は、セルA2の数式を下方向にコピーします。

投稿2023/02/04 00:10

編集2023/02/04 00:34
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

opensee

2023/02/04 00:34

完璧な推測と結果に驚いています。 100%実現したいことが叶いました。 表まで作成していただきご丁寧な回答ありがとうございます。 SUMIFは初めて使う関数ですが便利ですね。 今後も非常に役立つことを覚えました。 感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問