我試圖用公式找到一個日期範圍內工作日(週一,週二,等等)的模式:模式與SUMPRODUCT式
=ARRAYFORMULA(MODE(SUMPRODUCT(--(AgendaData!$A:$A>=A$6),--(AgendaData!$B:$B<=B$6),AgendaData!$F:$F)))
錯誤寫着:「MODE不能產生一個結果,沒有值多次出現。「
我認爲這與F列是文本格式有關。我希望結果能夠在文本中顯示星期幾的模式。我想知道我在這裏做錯了什麼。
我試圖用公式找到一個日期範圍內工作日(週一,週二,等等)的模式:模式與SUMPRODUCT式
=ARRAYFORMULA(MODE(SUMPRODUCT(--(AgendaData!$A:$A>=A$6),--(AgendaData!$B:$B<=B$6),AgendaData!$F:$F)))
錯誤寫着:「MODE不能產生一個結果,沒有值多次出現。「
我認爲這與F列是文本格式有關。我希望結果能夠在文本中顯示星期幾的模式。我想知道我在這裏做錯了什麼。
通過將文本值轉換爲數字,找到模式並轉換回來,您可以找到文本值的模式。它的方便使用一個三列的查找表對於這一點,例如,
Monday 1 Monday
Tuesday 2 Tuesday
Wednesday 3 Wednesday
Thursday 4 Thursday
Friday 5 Friday
Saturday 6 Saturday
Sunday 7 Sunday
比方說,此表是我列:K,和你的數據在列F那麼下面找到它的模式:
=vlookup(mode(arrayformula(iferror(vlookup(F:F, I:J, 2, false)))), J:K, 2)
這裏,arrayformula(iferror(vlookup...
是使用表格的I:J部分轉換爲數字,忽略空白單元格以及任何非星期幾的內容。在應用mode
後,vlookup
使用表格的J:K部分將數字轉換回文本。
完美!這是我正在尋找的,zaq!我可以有你的大腦嗎? –
檢查出來,你可以使用公式:
=filter(AgendaData!$F:$F,AgendaData!$A:$A>=A$6,AgendaData!$B:$B<=B$6)
你會看到從F列所有匹配的值,並會確切地知道,如果一些值出現不止一次。
不是「沒有值超過一次」解釋是什麼問題? – FTP
我在F欄中看到:星期一,星期二,星期一,星期四,星期三。 實際上有兩個星期一的時候,它不會顯示結果爲「星期一」,那就是模式。 我認爲這是誤解列,因爲它正在搜索數字而不是文本。 –
確實,'mode'忽略所有字符串;這是一個數字函數。順便說一句,「sumproduct」也是。考慮到sumproduct返回一個值,我不清楚'mode(sumproduct(...))'應該如何工作。 – FTP