2014-09-21 45 views

回答

1

不能使用公式單元格的值複製到另一個,因爲它們只能影響都寫在(通常情況下)的一個...
然而,你可以寫在Sheet2中的公式從Sheet1中提取數據基於條件...
例如,陣列式(與Ctrl鍵 + 移位輸入 + 輸入):

=IFERROR(INDEX(Sheet1!$B$1:$B$4,SMALL(IF(ISERROR(FIND("o",LOWER(Sheet1!$A$1:$A$4))),9999,ROW(Sheet1!$A$1:$A$4)),ROW())),"") 

在本例中,我使用的條件「的值在列A con含有雜質的字母「O」 - 不區分大小寫」 ......讓我由內而外的解釋...

  • ISERROR(FIND("o",LOWER(...)))會給我們FALSE如果值有一個‘O’,否則TRUE
  • 而不是隻給一個值,我們的細胞Sheet1!$A$1:$A$4(因爲你需要它可以擴展)的陣列上工作 - 所以這給了我們TRUEFALSE值的數組
  • IF(ISERROR(...),9999,ROW(...))意味着,如果沒有「O」我們將得到值9999,否則我們得到數組中的單元格的行號 - 所以這給了我們一個數組o的F 9999和行號
  • SMALL(...,ROW())讓混合我們挑選出從陣列的價值之一 - 在這種情況下,大小順序的項目,我們使用ROW()作爲我們的計數器(即在Sheet2!A1 - ROW()是1,我們從數組中得到最小值)...如果我們有一個標題行,我們可以做ROW()-1例如...有效地,我們通過Sheet1中的行號排序列表那場比賽我們的條件
  • INDEX(Sheet1!$B$1:$B$4,...)是要給我們從在Sheet1 B列有關我們的立場在匹配的行
  • 有時候我們的列表中的數值我們9999(對於不符合條件的所有單元格 - 這些被排序到列表末尾SMALL),所以INDEX會給我們一個錯誤...該指數超出範圍。所以我們可以用一個空白替換它

希望這是有道理的!祝你好運!並記住要輸入數組公式 + 移位 + 輸入 ...

相關問題