簡體   English   中英

如果同一行中的另一個單元格的值大於0,則僅索引另一張工作表中一列的單元格

[英]Index only cells in a column from another sheet if another cell in same row has a value greater than 0

因此,下面有一個我想做的事的例子。 基本上,只有在工作Sheet 1 Column W的值大於0時,才需要將工作Sheet 1 Index Column B到工作Sheet 2如果不是,則不希望將其包括在內。要索引的唯一列是B從第5行開始說100。與Column W相同。

我發現是我自己想要做的事, 與我想要做的事非常相似,但我無法弄清楚。

    Sheet 1

Row# Column B | Column(s)…  | Column W
     =================================
 5)  Thing 1  |             |    0
 6)  Thing 2  |             |    3
 7)  Thing 3  |             |    0
 8)  Thing 4  |             |    1 

    Sheet 2

Row# Column B |  Column C   | Column D
     =================================
 5)  Thing 2  |      3      |
 6)  Thing 4  |      1      |
 7)           |             |
 8)           |             |

編輯#3

您可以使用SMALLLARGE函數從Sheet1 Column B返回值。

假設您使用了以下名稱

  1. Sheet1ColBSheet1!B5:B100
  2. Sheet1ColWSheet1!W5:W100

這是要在Sheet2 單元格B5中放置的公式。 請注意,這是一個數組公式,因此您需要按Ctrl + Shift + Enter進行確認。

{=IFERROR(INDEX(Sheet1ColB,SMALL(IF((Sheet1ColW>0)*(LEN(Sheet1ColW)>0),ROW(Sheet1ColW)),ROW()-4)-4),"")}

要么

{=IFERROR(INDEX(Sheet1ColB,LARGE(IF((Sheet1ColW>0)*(LEN(Sheet1ColW)>0),ROW(Sheet1ColW)),ROW()-4)-4),"")}

然后,您可以使用INDEX + MATCHSheet2 C 中的Sheet1 W列返回值:

=IFERROR(INDEX(Sheet1ColW,MATCH(B5,Sheet1ColB,0)),"")

在此處輸入圖片說明

在上面的屏幕截圖中,解決方案2使用的是AGGREGATE ,其邏輯與SMALL / LARGE相同。

如您所見,樣本數據已考慮到Sheet 1 Col W重復值, Sheet1W B列 Sheet1空白單元格以及僅在Sheet1B列中的空白單元格為負值或0值。

干杯:)

使用AGGREGATE()公式根據條件進行過濾。

=IFERROR(INDEX($A$5:$A$8,AGGREGATE(15,6,(ROW($A$5:$A$8)-ROW($A$4))/($B$5:$B$8>0),ROW(1:1))),"")

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM