
我不確定這在 Excel 中是否可行。
我有一張看起來像這樣的表:
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| | August | September |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Starting | 04/08 | 11/08 | 18/08 | 25/08 | 01/09 | 08/09 | 15/09 | 22/09 |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Monday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Tuesday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Wednesday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Thursday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Friday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Extra | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Total | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
(真實的表格有所有月份。)
原始數據如下所示:
+------+------+----------+
| DDMM | Year | Quantity |
+------+------+----------+
| 0408 | 2014 | 2 |
| 0708 | 2014 | 7 |
| 0509 | 2014 | 12 |
| 0508 | 0000 | 6 |
+------+------+----------+
我需要解析原始資料並將其添加到日曆表中。第一個資料行將在「04/08」下的星期一加 2。
如果年份是 0000,我需要將數字加到正確星期的「額外星期」中。
這可能嗎?
謝謝
答案1
最好的方法是將原始表中的日期轉換為實際的 Excel 日期。您可以從實際的 Excel 日期中提取星期幾的文字、月份的文字以及週的開始日期,您可以將其轉換回文字以符合您的表格。執行此操作的公式在下面的螢幕截圖中(因為它太冗長而無法輸入)。
若要將這些內容新增至您的日曆表中,您可以執行下列操作。一種方法是使用資料透視表來=getpivotdata()
提取日曆中每個單元格的值。相反,我更喜歡使用它,=sumproduct()
因為它的開銷更少。下面的螢幕截圖中包含公式,隨後是快速說明。
=sumproduct()
可以在一系列值中測試多個條件的真/假(在本例中,測試每行的條件),然後當該行的所有條件都為真時對另一個範圍的結果求和。這裡我們測試 E2:E5 包含 J2 中的 DD/MM,F2:F5 包含 J1 中的月份文本,G2:G5 包含 I3 中的工作日文本。如果所有條件都為真,則它會取得 C2:C5 中的值並對其求和。使用此公式需要注意的一點是,您正在測試的範圍必須始終具有相同的長度。您無法測試 DD/MM 的 E2:E5 和本月的 F2:F20。 Sumproduct 會拋出錯誤。