2015-12-02 31 views
1

enter image description here我正在查看單元格A2:A201的值爲1.創建包含每個單元格E和B的內容1的所有項目的數組列表。如果值等於1,則複製單元格數組

我目前使用的方法是不是一個真正的乾淨的版本,以便即時通訊尋求簡化

=INDEX(tbl,SMALL(IF((INDEX(tbl,,12,1)<=1)*(INDEX(tbl,,12,1)>=1),ROW(tbl)-MIN(ROW(tbl))+1,""),ROWS($T$14:T14)),,1) 

,而這樣的作品,我試圖簡化和使它看起來更好更頻繁地使用,而無需創建多個表。

此外,我使用上述也獲得球員(單元格b)的位置(單元格e)。輸出是亂序,所以我真的很喜歡把它們放在運動中。 PG名稱,PG名稱,SG名稱,SG名稱,SF名稱,SF名稱等等

+0

不知何故,你的公式根本不適合你的問題的話。你確定你粘貼了正確的配方嗎? 'tbl'引用了什麼?細胞e或細胞b如何進入?甚至不知道關於PG名稱等。 – teylyn

+0

我採用了我發佈的公式作爲我正在使用的另一張工作表,其中有相同的數據只是在不同的列中使用的公式。在該公式中,它在第12列或L中查找值爲1.我將該數據移動到A列中的新excel中。我使用了另一個公式。 TBL是參考整個數據來查找,因爲就像我說的即時通訊試圖簡化它。 – droopie

+0

[INDEX函數](https://support.office.com/en-us/article/index-function-0ee99cef-a811-4762-8cfb-a222dd31368a)有三個參數。 'INDEX(tbl ,, 12,1)'做什麼? – Jeeped

回答

1

如果您正在尋找在視覺上簡化公式,可以消除的最大部分是ROW(tbl)-MIN(ROW(tbl))+1。這會在tbl內生成位置,而不是工作表上的實際行。通過在第二行開始tbl,您必須進行此計算。如果你只是在第1行開始TBL,那麼這將成爲ROW(tbl)因爲內TBL行將始終與工作表上的行和沒有因調整到不同的起始位置。

爲了從第一列和空白列中獲得第二,第三等匹配,您需要提供循環計算。無論您使用數組公式還是提供類似數組的計算函數,您都希望將處理的行數降至處理所需的最小值。

您可以使用命名範圍(例如tbl)執行此操作,然後您必須切斷各個列查找的列。如果數據發生變化,您還必須維護並調整tbl。這可以通過定義與

=Sheet1!$A$1:INDEX(Sheet1!$E:$E, MATCH(1e99, Sheet1!$A:$A)) 

當與列TBL內處理,可以「切片」關斷一個柱,使用減少的行列A中找到的最後數字的公式TBL避免INDEX function。將row_num留爲空白(或)以指示所有行並提供要處理的column_num

TBL_INDEX

較新的AGGREGATE¹ function可以檢索第一,第二,第三等相匹配的一個或多個列的快速工作。使用SMALL sub-function(即),並強制和不匹配爲$DIV/0!錯誤狀態,同時使用選項忽略錯誤。

在檢索期間對數據進行「即時」排序幾乎是可能的,但更好的解決方案涉及「幫助」列。


¹AGGREGATE function用Excel 2010中引入的。它是不是在早期版本。

相關問題