2017-03-03 146 views
1

我在Excel中有一個數據矩陣,並且我想只使用公式在該數據中寫入唯一值。到目前爲止,我發現的大多數公式都將唯一值寫入列中,並從單個列中獲取數據。我附上一個我需要的例子的圖像。EXCEL:使用來自多列的唯一數據生成一行

中的數據在B2的例子:D4和獨特的結果將在F2打印:I2,預先感謝您的幫助

example of exercise

回答

1

應用此數組公式中F2與CSE,

=IFERROR(INDEX($B$2:INDEX($B:$B, MATCH(1E+99, $B:$B)), MATCH(0, COUNTIF($E2:E2, $B$2:INDEX($B:$B, MATCH(1E+99, $B:$B))), 0)), 
IFERROR(INDEX($C$2:INDEX($C:$C, MATCH(1E+99, $C:$C)), MATCH(0, COUNTIF($E2:E2, $C$2:INDEX($C:$C, MATCH(1E+99, $C:$C))), 0)), 
IFERROR(INDEX($D$2:INDEX($D:$D, MATCH(1E+99, $D:$D)), MATCH(0, COUNTIF($E2:E2, $D$2:INDEX($D:$D, MATCH(1E+99, $D:$D))), 0)), TEXT(,)))) 

...並填寫正確。

enter image description here

+0

謝謝你,有一個問題,但我只想看看B2:D4,而其他地方我只需要改變MATCH功能吧? –

+0

是的,你有一個問題,那就是列B只有第三行的值,其他兩個值都是值到第四個,用B2:D4來屏蔽它意味着你會在某個地方得到一個零值(空白單元格),上面的內容忽略了空白單元格,只是用數字來看單元格,但如果你在下面有更多的數字,這是一個問題。 – Jeeped

-1

你只用做公式? Data選項卡下的Remove Duplicates功能聽起來非常適合這類問題。我不確定刪除重複項是否可以生成水平數據,但轉置函數可以輕鬆解決這個問題。

+0

刪除重複項在這個實例中不起作用,因爲它會嘗試將整個行彼此進行比較,並且因爲沒有匹配,它會按原樣返回整個範圍。 –

+0

此外,我需要使用公式,因爲該過程在一大組數據集中重複多次 –

1

我能得到的最接近的是給你一個獨特的名單中的最大訂單到最小:

=AGGREGATE(14,6,$B$2:$D$4/(COUNTIF($E$2:E2,$B$2:$D$4)=0),1) 

enter image description here

+1

相反,從最小到最大將以'= AGGREGATE(15,6,...' – Jeeped

1

隨着數據在B2通過D4,在F2輸入:

=MIN($B$2:$D$4) 

G2進入數組公式

=MIN(IF($B$2:$D$4>F2,$B$2:$D$4)) 

和複製跨:

enter image description here

數組公式必須按Ctrl +輸入 + 輸入,而不僅僅是輸入鍵。