如何從單一儲存格中的多個值傳回最大值?

如何從單一儲存格中的多個值傳回最大值?

我的電子表格中有一些儲存格有多個日期,並用分號分隔;

經過一番谷歌搜尋後,我發現這TEXTSPLIT可能是分解此問題的最佳公式,但它會產生幾列數據。我希望在單元格內的值被分解之前對其進行比較,並返回該組中最大的一個值。

這可能嗎?我剛剛想到的一件事是擁有一台複雜的機器,可以將值分解到單獨的工作表中,並使用另一個公式從這些行中獲取最大值。如果可以的話,希望避免使用多張紙。

這是一個範例: TextSplit 公式範例

答案1

如果我理解正確,那麼下面的公式應該有效:

在此輸入影像描述


  • 單元格中使用的公式B1

=MAX(--TEXTSPLIT(A1,"; "))

或使用BYROW()一次性獲取所有輸出,無需填充!

在此輸入影像描述


=BYROW(A1:A3,LAMBDA(α, MAX(--TEXTSPLIT(α,"; "))))

對於現有的範例數據,上述公式也適用,這裡有一個範例示範。

在此輸入影像描述


說明:

  • 使用函數:它有助於透過分隔符號-->跨列TEXTSPLIT()分割字串。 (請參閱它顯示的)。semi-colon with a space;.gif

因為它是屬於函數庫的函數文字因此,人們可以意識到,在使用時,它將把日期字串拆分為文本,這給未來的資料操作帶來了問題,筆記: 在Excel中,日期和時間儲存為數字,因此整數部分代表日期,而小數部分代表日期的時間。

因此,如OP中所提到的,使用者使用DATEVALUE()它可以轉換為真實日期,或使用double unary或透過添加0或乘以1或潛水1,最終轉換。


  • 完成上述操作後,我們可以將其包裝在MAX()函數中以返回最新/最大/最大/最高(以適合的說法)日期。

理由:

0為什麼用戶在使用我提供的公式時得到,而他們使用 得到各自的輸出時DATEVALUE(),為了解釋,屏幕截圖澄清了這一點。

在此輸入影像描述


  • 使用者僅使用分號分隔符,;而我使用分號和空格;
  • 因此,當用雙一元進行包裝時,MAX()它會傳回錯誤,因為它只將第一個轉換為數字,而第二個則傳回錯誤,因為它有一個前導空格。但帶有分隔符號分號和空格的應該可以工作,請參閱螢幕截圖。

在此輸入影像描述


  • 使用DATEVALUE()函數它會處理前導空格並將其轉換為數字,最後換行MAX()給出所需的輸出。替代方法,在開頭已經提到 using ;,另一種處理它的方法是使用TRIM()

=MAX(--TRIM(TEXTSPLIT(A3,";")))

答案2

我沒試過@MayukhBhattacharya 提供的答案,但我確實很欣賞所提供的信息,所以我給了該用戶答案。

我確定需要將答案更改為 DateValue,因此我在 MAX 和 TEXTSPLIT 公式之間插入了 DATEVALUE 公式。

我使用的公式是:

=MAX(DATEVALUE(TEXTSLIT(A2, ";")))

請參閱下面的範例:

將 DATEVALUE 插入公式中

請務必使用短日期欄位設定儲存格格式。

相關內容