答案1
答案2
如果您有 Office 365 Excel,則正常公式:
=MAX(MAXIFS(B:B,A:A,300),MAXIFS(C:C,A:A,300))
您可以將這兩個 300 替換為儲存格位址。由於這不是數組公式,因此它將允許完整的列引用而不會造成損害。
答案3
這是一個更一般的答案:
假設您要計算第6 行到第N 行的數組中第i 行到第j 行的連續子集出現在列C 和D 中的數值的最大值(或最小值或中位數等),其值為「在 B 列中輸入「行」。讓 i 的明確值在 B2 中指定,j 的明確值在 B3 中指定(這些值可能已經在電子表格的其他地方計算出來了);此處,為了透明起見,令 i = 9 且 j = 14,其中 n = 15。
這是我開發的Excel2003程式碼,它看起來運作得很好:
{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,C6:C15),""))} ,回傳 MAX(C9:C14) ;和,
{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,D6:D15),""))} ,傳回 MAX(D9:D14) 。
只需將 MAX 變更為 MIN 或其他函數名稱,即可進行類似計算。但是,不要忘記重新安裝(Ctrl-Shift-Enter)那些“大括號”,每次操作該語句時它們都會消失。