次のようなシートTransactions
があります。
+--------------+-------------+-------------+-----------+
| Date | Payee | Category | Amount |
+--------------+-------------+-------------+-----------+
| 29/03/2020 | Walmart | Groceries | $100.00 |
+------------------------------------------------------+
| 27/02/2020 | Costco | Groceries | $220.00 |
+------------------------------------------------------+
| 12/03/2020 | Exxon | Gas | $350.00 |
+------------------------------------------------------+
| 05/01/2020 | Petsmart | Pets | $50.00 |
+------------------------------------------------------+
| 28/03/2020 | Shell | Gas | $125.00 |
+--------------+-------------+-------------+-----------+
ここで、別のシートで、毎月各カテゴリで費やしている金額を追跡したいと思います。私はそれを次のように見せたいです:
+-------------+-----------+-----------+-----------+
| Category | 03/2020 | 02/2020 | 01/2020 |
+-------------+-----------+-----------+-----------+
| Gas | | | |
+-------------------------------------------------+
| Groceries | | | |
+-------------------------------------------------+
| Pets | | | |
+-------------+-----------+-----------+-----------+
したがって、最終的には、各列は次のようになります。
+-------------+-----------+-----------+-----------+
| Category | 03/2020 | 02/2020 | 01/2020 |
+-------------+-----------+-----------+-----------+
| Gas | $475.00 | $0 | $0 |
+-------------------------------------------------+
| Groceries | $100.00 | $220.00 | $0 |
+-------------------------------------------------+
| Pets | $0 | $0 | $50.00 |
+-------------+-----------+-----------+-----------+
セルB2に次のクエリがありますが、機能しません。
=iferror(query(INDIRECT("Transactions!A2:D"), "Select A, B, C, D", "select Sum(D) where A >= date '"&TEXT(B$1,"yyyy-MM-dd")&"' and A <= date '"&TEXT(eomonth(B$1,0),"yyyy-MM-dd")&"' and C= '"&$A2&"' label Sum(D) ''"),0)
何が悪いのですか?
あなたのクエリは基本的に正しいです。小さな変更で動作します。
以下を使用して、下にドラッグしてから右にドラッグしてください。
=iferror(query(Transactions!$A$2:$D, "select Sum(D) where A >= date '"&TEXT(B$1,"yyyy-MM-dd")&"' and A <= date '"&TEXT(eomonth(B$1,0),"yyyy-MM-dd")&"' and C= '"&$A2&"' label Sum(D) ''"),0)
変更されたもの:
INDIRECT
関数は必要ありません。 $
記号を使用してクエリ範囲をロックするだけです:Transactions!$A$2:$D
select
句を2回使用しました。一度だけ使用してください。