web-dev-qa-db-ja.com

1つの行に別のシート内のキーが含まれる場合の金額の合計

1つのGoogleスプレッドシートドキュメントに2つのシートがあります。

| Key | Amount  |
|-----|---------|
| ABC |    1    |
| DEF |    2    |
| GHI |    3    |


|  Keys |
|-------|
|  ABC  |
|  XYZ  |
|  JKL  |
|  GHI  |

ここで、最初のシートの行に金額を追加したいのですが、キーが2番目のシートのどこかに含まれるonlyです。上記の例では、合計は4(キーABC1およびGHI3になります。

QUERYSUMIF、およびVLOOKUPを試してみましたが、解決策を見つけることができませんでした。どんな助けも大歓迎です!

1
Jonas
=SUM(IFERROR(ARRAYFORMULA(IF(LEN(A2:A); 
 VLOOKUP(A2:A; Sheet1!A2:B; 2; 0); )); ))

enter image description here


  • VLOOKUPA2:ASheet1!A2:Bを検索し、2からSheet1!A2:Bnd列をそのまま返します。 0はソートされていません
  • LEN(A2:A)は、最後のエントリの後に停止する範囲内のエントリ数をチェックしますARRAYFORMULA
  • ARRAYFORMULAは、最初の行の後に数式全体が停止しないようにします
  • IFERRORVLOOKUP部分に一致がない場合、すべてのエラーを削除します
  • SUMはすべてを合計します
1
user0

おそらく、次のようなものが必要です。括弧内の最初の部分は論理式で、2番目はtrueの場合に返すもので、最後はfalseの場合に返すものです。 「ABC」でない場合は、「DEF」であるかどうかをテストします。両方ともfalseの場合、0を返します。

=if(AA7="ABC",123,IF(AA7="DEF",456,0))

これを明確にする必要があるかどうかを教えてください。

1
Nyko

2番目のスプレッドシートのキーの横に、次の式を追加します(キーが列Aにあり、金額がBにあると仮定します)

=SUMIFS(Sheet1!B:B,Sheet1!A:A,"="&Sheet2!A1)

更新:すべての一致の合計を計算するには、次を使用します(ラベルと値がSheet1の列AとBにあり、合計するラベルがSheet2の列Aにあると仮定します)

=sum(ArrayFormula(sumif(Sheet1!A:A,"="&Sheet2!A:A ,Sheet1!B:B)))
1
Oren Pinsky