2015-06-02 51 views
0

我需要創建Excel公式,以便從平均結果中輸出最接近的集合編號。我不知道如果我能解釋得如此之好,所以我給個例子:將結果輸出到確切編號

  1. 這是我的步長值:

    1,0 
    1,3 
    1,7 
    2,0 
    2,3 
    2,7 
    3,0 
    3,3 
    3,7 
    4,0 
    
  2. 我使用這個公式:

    =AVERAGE(B2:B3:B4:B5) 
    
  3. 如果字段B2,B3,B4和B5的值是:

    3,3 
    2,0 
    1,3 
    1,0 
    

    平均將1.9

  4. 我需要的是一個Excel作爲在這一領域的輸出使2,0 1,9,而不是因爲這是從我上面列出的值最接近的步長值(下1.)

  5. 如果該值在兩個步驟值之間,我需要它作爲較高的值輸出(如果它的1,5我需要它是1,7 - 不是1,3)。

有沒有人有這樣的想法?

+0

值是否始終按從高到低排序? – Jerry

+0

@pnuts嗯,我想你可以這樣說,謝謝像你和Barry這樣的人。我認爲總的來說,我從你們兩位學到了絕大部分的技巧:P – Jerry

+0

@Jerry:沒有數據沒有排序。他們是隨機的。 – eklisiarh

回答

1

我假設您的區域設置使用逗號作爲小數點分隔符。我的設置使用小數點,所以請在適應場景時進行調整。

將步驟值輸入到一系列單元格中,按升序排序。將範圍名稱「Steps」分配給該範圍。如果在單元格B7中計算平均值,則可以使用此公式根據步驟達到調整後的平均值。

=IF(LOOKUP(ROUND(B7,1),Steps)=ROUND(B7,1),ROUND(B7,1),LOOKUP(ROUND(B7,1)+IF(MOD(ROUND(B7,1),1)=0.8,0,0.3),Steps)) 

該屏幕截圖顯示了幾種不同的情況。需要注意的是1.8被調整爲1.7,而不是2.0

enter image description here

0

假設您的值進行排序提升你的計算公式爲:
=INDEX(B2:B11,IFERROR(MATCH(<average>,B2:B11,0),MATCH(<average>,B2:B11,1)+1))
哪裏是你的平均公式或含有結果的單元格的引用。

+1

沒問題,你也解釋一下。我很樂意抽出時間回答幾個問題。 –

1

可以找到最接近的值(和可能的2更高)用下面的陣列式(與Ctrl + Shift + Enter確認):

=IFERROR(INDEX(A1:A10,MATCH(C4+MIN(ABS(A1:A10-C4)),A1:A10,0)),C4-MIN(ABS(A1:A10-C4))) 

A1:A10 - 步長值(順序無關緊要)

C4 - 平均

Index/match組合checkes如果較高的值(與最短距離)在線xists,如果沒有,則返回較低的值。

+1

@pnuts否,它不 - 它返回最接近的值(1.7)。只有當絕對距離相同時,它纔會返回更高的值,這就是我理解OP的第4點和第5點的方式 – BrakNicku