Excel:如何从列范围搜索并匹配行的子字符串?

时间:2014-03-01 06:47:06

标签: excel-formula

我这里有2张桌子。在第一个表格中,当第二个表格(列F)标记为“是”的find_item时,我想将“部分验证”(A列)标记为“完成”。

'Find Item'列可以是B列的任何子串。如何实现?

第一桌

COLUMN A              COLUMN B
Partial validated     List
==================    =================================
<Done>                Apple, Orange, Banana, watermelon
                      Apple, watermelon
<Done>                Mango
                      Banana, Tomato
<Done>                Orange, Apple

第二桌

COLUMN E       COLUMN F
find_item      validated
===========    =========
Orange         YES
watermelon     NO
Mango          YES
Apple          NO

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

首先,为了获得最佳性能,您必须使用宏。公式无法处理那个场景中的那些操作。 如果你不能使用宏,你必须将2. table转到这个:

注意:替换;在公式中,因为它取决于您的区域设置

ORANGE  Watermelon  Mango   APPLE
YES     NO          YES     NO

并将第1个表格中的逗号数据与此

分开
Column B        column C column D Column E
Apple(Cell B2)  Orange  Banana  Watermelon
Apple           Watermelon      
Mango           
Banana          Tomato      
Orange          APPLE       

然后算上YES&amp;表1中给定项目的出现

ORANGE(Cell G1) Watermelon  Mango   APPLE
YES             NO          YES     NO
1(x)            0           0       0
0               0           0       0
0               0           1       0
0               0           0       0
1               0           0       0

标有(x)的单元格代码:

=IFERROR(IF(HLOOKUP(G$1;$B3:$E3;1;FALSE)>0;IF(G$2="YES";1;0);0);0)

然后最终把它放到单元格A2并向下拖动

 =IF(SUM(G3:J3)>0;"DONE";"")

这将创建所需的操作,每当您将给定项目的值YES更改为某个其他值时,总单位计数将更改,如果给定行中的单位总数等于0,“完成”将更改为零