楼主 悟空师弟 |
Q:如何实现部分字符在多表中进行查找并引用?如附件说明! A:公式如下:(数组公式)
详见附件: 如何实现部分字符在多表中进行查找并引用?.rar |
2楼 林夕瑜 |
谢谢 |
3楼 林夕瑜 |
有些没明白可以解释下嘛 |
4楼 林夕瑜 |
另外我如何根据“物料编码”的第一个字符确定供应商,如“X"供应商显示”许建荣,"W",王凤英……… |
5楼 悟空师弟 |
→→→→→→→→→→→→→→→→→→→→-- 公式解析:
2、FIND(LEFT($B3),"XWGF") 这段是判断“物料编码”的第一个字符在“XWGF”的第几个位置。 3、CHOOSE(FIND(LEFT($B3),"XWGF"),"许建荣","王凤英","吴晨光","阀类") 这段根据“物料编码”的第一个字符在“XWGF”的第几个位置后返回相对应位置的“供应商”。 比如 W 在 “XWGF”的第二个位置,则此段公式返回对应的第二个“供应商”为“王凤英”。 4、INDIRECT(CHOOSE(FIND(LEFT($B3),"XWGF"),"许建荣","王凤英","吴晨光","阀类")&"!B:N"), 这段是返回一个动态区域,“供应商”为动态,“B:N”这个区域为固定。 5、VLOOKUP($B3,INDIRECT(CHOOSE(FIND(LEFT($B3),"XWGF"),"许建荣","王凤英","吴晨光","阀类")&"!B:N"),MATCH(C$2,许建荣!$1:$1,)-1,) 整个这一段是根据B3单元格找到对应“供应商”的对应数据,从而返回所需要值。其中 MATCH(C$2,许建荣!$1:$1,)-1 这段为需要返回的值在这“B:N”个区域中的第几列。 6、加 &"" 这个是在返回的值为空时不显示 0 |
6楼 gouweicao78 |
建议,建立一个关系对应表,让X对应许建荣…… 然后用VLOOKUP根据B列首字字母来找人名,以便实现引用。 1楼用CHOOSE的方法,适合人名不多的情况。 |
7楼 悟空师弟 |
草版真是一针见血! |
8楼 gouweicao78 |
再给一个不同解法:
VLOOKUP单列查找之魅! |
9楼 悟空师弟 |
→→→→→→→→→→→→→→→→-- 人太笨,一下子没能理解公式的含意,慢慢体会,慢慢学习! |
10楼 gouweicao78 |
很多人对单列数据的查找,往往想的是LOOKUP而不是VLOOKUP,第3参数为1,就是在第1列、查第1列。 而且,VLOOKUP支持通配符查找,因此,构建一个“x许建荣”之类的数组,用于查找“x”开头的记录。 VLOOKUP单列查找的妙用: 【公式解析系列】之单元格内多字段对应数据分离查询 http://www.exceltip.net/thread-7117-1-1.html |
11楼 悟空师弟 |
-------------------------------- 受用了,谢谢! |