excel 如何结合运用vlookup函数和if函数

excel 如何结合运用vlookup函数和if函数
如图一,这是我的数据源(企业不完整)在sheet1

img

如图二,这是我的所有企业代码,在sheet2

img

我想要根据数据源填充企业情况。

比如说:出现P2514,就在【对应的企业代码】旁边输出1,在【数据源中没有的企业】和【数据源中有的企业但是没出现P2514的企业】旁边输出0

请问应该怎么设置函数呢
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

数据分析

  1. 表一数据源中企业代码可能出现多次,任意一条匹配到'P2514'都算‘出现过’
  2. 表一数据源中部分企业代码缺失

思路

  1. 在表一数据源中,先根据企业代码将代码相同的所有数据拼接起来
  2. 在表二企业代码中用LOOKUP函数找到对应代码拼接好的数据
  3. 在表二企业代码中用SEARCH函数确定是否存在目标数据

模拟

假设表一数据源数据如下:
企业代码1-6,相同的企业代码数据相邻(这点很重要,如果相同的企业代码数据不在一起,需要先排序)

img


表二企业代码如下:
企业代码1-7

img


目标:
标记表二中在表一数据出现过"T"的企业,出现过标记为1,没出现标记为0

过程

  1. 表一数据拼接:在E1单元格输入 =D1,在E2单元格中输入 =IF(A2=A1,E1&"、"&D2,D2),含义是:如果当前行的企业代码和上一行相同,就把上一行的数据末尾加上顿号并在末尾拼接当前行数据,否则直接使用当前行数据。最后拖动E2单元格右下角黑色+,快速填充E列其他单元格
    结果如下:

    img

  2. 表二填充表一拼接好的数据:C1列输入 =IFNA(LOOKUP(1,0/(数据源!A$1:A$14=A1),数据源!E$1:E$14),""),含义是:从表一中找出表二中相同企业代号的最后一行数据的E列,如果找不到,就填充空字符串,结果如下:

    img

  3. 标记0和1:表二D1单元格输入 =IF(IFERROR(SEARCH("T",C1),-1)<0,0,1),含义是:从刚刚找出的数据中查找"T",如果出现了,就填充1,否则填充0,结果如下:

    img

  4. 结果和预期一致