在 Excel 中從一系列混合資料中尋找最高數值

在 Excel 中從一系列混合資料中尋找最高數值

如圖所示,我有一行 6 個字母數字值。我需要一個公式來確定每行中的三個最高數值,然後以正確的順序(降序)顯示與這些值關聯的字母。例如,第 1 行產生答案 RES,因為 R 是該行中最高的,其次是 E,然後是 S。我是 Excel 的基本用戶,這讓我感到困惑。我可以做解決方案的元素,但當我嘗試組合時它不喜歡它。感謝您的協助。

在此輸入影像描述

答案1

在此輸入影像描述

怎麼運作的:

我的來源資料在 Range 內A2:F3

  • 在儲存格中寫入此公式B6以從來源資料中拆分字母並填充正確的

      =LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
    
  • 若要從來源資料中拆分數字,請在儲存格中輸入此公式B7,填寫就在那時向下。

     =VALUE(RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1))
    
  • 在儲存格中B10寫入此數組公式,填寫正確的然後按F2並完成Ctrl+Shift+Enter並填充向下

    {=LARGE(B7:G7,{1,2,3})}
    
  • B13在儲存格填充中寫入此公式正確的然後向下

       =IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
    
  • 最後,在單元格中B16寫下這個公式並填充向下

=CONCATENATE(B13,C13,D13)

根據需要調整公式中的儲存格差異。

答案2

假設您的資料“R35”位於A1

H1  --->  =VALUE(RIGHT(A1,LEN(A1)-1))

並拖曳直到L1,然後

N1  --->  =IF(COUNTIF($H1:$L1,H1)=1,H1,H1+0.5)
O1  --->  =IF(COUNTIF($H1:$L1,I1)=1,I1,I1+0.4)
P1  --->  =IF(COUNTIF($H1:$L1,J1)=1,J1,J1+0.3)
Q1  --->  =IF(COUNTIF($H1:$L1,K1)=1,K1,K1+0.2)
R1  --->  =IF(COUNTIF($H1:$L1,L1)=1,L1,L1+0.1)

然後

T1  --->  =RANK(N1,$N1:$R1,0)

並拖曳直到X1,然後

Z1  --->  =INDEX($A1:$F1,MATCH(1,$T1:$X1,0))
AA1  --->  =INDEX($A1:$F1,MATCH(2,$T1:$X1,0))
AB1  --->  =INDEX($A1:$F1,MATCH(3,$T1:$X1,0))

然後

AD1  --->  =LEFT(Z1)&LEFT(AA1)&LEFT(AB1)

最後..選擇H1:AD1並拖曳直到AD6

AD 欄應該就是您要尋找的內容。您可以隱藏列或在另一個工作表中進行操作,以使其看起來更簡單。

如果您遇到困難(在理解公式或執行公式時),請分享。 (:

希望能幫助你。

p/s : +0.5 , +0.4 .. +0.1 用於滿足此要求

最先出現的取得優先權

答案3

我需要 6 個輔助細胞而不使用 VBS。因此,如果您的資料位於 A1 到 F1 中:

將 G1 設定為

=INT(RIGHT(A1,2)&"006")

將 H1 設定為

=INT(RIGHT(B1,2)&"005")

將 I1 設定為

=INT(RIGHT(C1,2)&"004")

將 J1 設定為

=INT(RIGHT(D1,2)&"003")

將K1設定為

=INT(RIGHT(E1,2)&"002")

將 L1 設定為

=INT(RIGHT(F1,2)&"001")

和M1到

=LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,1),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,2),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,3),G1:L1,0))),1)

您應該能夠將這 7 個公式複製並貼上到您的行中。請注意,重複值是從左到右處理的。

相關內容