2017-08-08 38 views
1

我在Excel,A和B中有兩列。 我需要查找B中包含整個列的所有行(即將它們放在另一列中)在列A中例如任何細胞,假設A包含:查找列中包含其他列的文本行的公式

apple 
banana 

而B包含:

I like apples 
I like pears 
I like bananas 

然後我會看到,在C列中,以下行:

I like apples 
I like bananas 

我想要一種方法來使用Excel公式來做到這一點。提前致謝!

注意:如果包含有類似「豌豆」和B包含「留蘭香」,那麼那句「我喜歡留蘭香」將出現在C列 - 上面只是一個例子

+0

另外,我選擇保留我的問題一般爲別人誰可能使用這個問題,其答案的緣故,但我可以添加細節,將使其更容易回答,如果需要的話。 – Koloktos

+1

不,我們認爲這是不可能的。我將編輯我的問題,指定 – Koloktos

+1

https://stackoverflow.com/questions/13229507/check-cell-for-a-specific-letter-or-set-of-letters可能是有趣的。 – pnuts

回答

4

有關的複雜性的意見所需公式是正確的,因爲它需要一些2D數組的中間計算。但在這裏它是FWIW ...

C1輸入以下公式,按 Ctrl鍵輸入然後複製/粘貼到向下填充柱C(看看的示例圖瞭解更多詳情):

C1: 
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($1:$99)/ 
    (ISNUMBER(SEARCH(TRANSPOSE("*"& $A$1:$A$4 & "*"), $B$1:$B$99))),ROW(1:1))), "") 

按Ctrl輸入

enter image description here

+0

非常好 - 我有一些想法很難,但我不認爲這會很複雜。它適用於我,但我試圖理解它背後的邏輯 - 對於「A $ A4」部分,是因爲本例中A列的長度是4? – Koloktos

+1

@Koloktos這是正確的;如果關鍵字的範圍(列A)包含空單元格,公式將不起作用。另一方面,列B上的限制'99'只是爲了減少計算時間。公式所做的是計算A中關鍵字和B中句子之間匹配的「矩陣」,然後對矩陣中匹配條目的行進行索引(這就是'Row(1:1)'的目標,這將增加在每一行找到下一場比賽)。 –

相關問題