
我有一個項目,我應該在其中建立自動電子表格。第一張表包含該人手動輸入的資料。例如,假設該人正在輸入他在 XX/XX/XX 日期收到的 X 數量的內容(在 Excel 中的列中使用文本,然後分隔,然後單擊製表符和空格並完成)。
11/19/2015 11/20/2015 11/25/2015 11/30/15 1/2/2016
Apples 4 5 2 7 1
Bananas 6 4 5 7 3
Oranges 3 0 4 0 0
現在,這是所有用戶輸入的數據。根據該使用者輸入的數據,我需要第二張表來顯示每週日期(星期六的日期,它定義了一周)以及該週收到的所有內容的總和。這就是我需要 Sheet 2 顯示使用者輸入的資料的內容:
11/21/2015 11/28/2015 1/2/2016
Total 22 11 4
Apples 9 2 1
Bananas 10 5 3
Oranges 3 4 0
如果您注意到,11/19/2015 和 11/20/2015 屬於 11/21/2015 這一周,因此 11/21/2015 僅顯示在一個單元格中,該週的所有內容都被匯總。使用者輸入的日期可以與任何時候相距很遠,這就是我包含 1/2/2016 的原因。
現在,計算總和的公式應該更簡單,但我遇到的問題是顯示每週日期一次。我使用以下公式檢查了這一點:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",__________)
第一個每週日期儲存格很簡單,因為它會回應使用者第一次輸入的日期。它只是:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",B1-weekday(B1)+7)
因此,問題是讓下一個日期不再顯示 11/21/2015。
更新 經過一些谷歌搜尋後,我的問題基本上與查找比指定數字第 k 大的數字相同。值得慶幸的是,有很多網站為我提供了有用的信息。我想出的用於顯示第一個每週日期之後的每週日期的結果公式是:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",IFERROR(LARGE(1:1,COUNTIF(1:1,">"&B17))-WEEKDAY(LARGE(1:1,COUNTIF(1:1,">"&B17)))+7,""))
此公式還允許最後一週日期後面的儲存格顯示“”,如果需要,可以將其修改為顯示#N/A 值。現在進入正確的求和。
答案1
我將您的問題解釋為「我想要從第三個單元格開始的水平數組中每七個單元格的值」。
如果是這種情況,那麼您可以在儲存格 A2 中使用下列公式並填入第 2 行:
=INDEX($A1:$J1,1,7*(B1-$A1)-4)
請確保您:
答:檢查 Excel 是否將您的輸入資料識別為日期而不是文字。您可能需要將輸入的日期變更為本機格式(例如日/月/年)才能使其正常運作。
B:將 $A1:$J1 範圍擴大到資料範圍的整個寬度。