我在Excel工作表中有一些值,即B、D和E列中的值:
**B** **C** **D** **E**
Cryptography 11 1 Applied Mathematics
Machine Learning 23 2 Analysis of Algorithms
Networks and Communication 26 3 Automata Theory
Networks and Communication 26 4 Artificial Intelligence
Robotics 30 5 Biological Networks
Computer Graphics 10 6 Combinatorial Optimization
Data Mining 12 7 Computability Theory
Combinatorial Optimization 6 8 Computational Complexity Theory
Applied Mathematics .. 9 Computer Vision
Analysis of Algorithms .. 10 Computer Graphics
Information Retrieval .. 11 Cryptography
Artificial Intelligence .. 12 Data Mining
Artificial Intelligence .. 13 Data Structures
Programming Languages .. 14 Databases
Data Mining .. 15 Digital Logic
Cryptography .. 16 Distributed Computing
Information Retrieval .. 17 Evolutionary Computation
Machine Learning .. 18 Human Computer Interaction
Machine Learning .. 19 Image Processing
... .. .. ...
... .. .. ...
... .. .. ...而column C是空的。
现在我必须将来自column B的值与找到匹配的行column E进行匹配,我必须从column D复制相应的ID并将其放置到column C中。然而,为了获得一个快速的想法,我在column C中手动地放置了一些值。
发布于 2015-09-14 14:17:56
如果我正确理解,索引/匹配公式(比Vlookup更强大一点)应该可以很好地工作:
=INDEX($D$1:$D$19,MATCH($B1,$F$1:$F$19,0))。进入并向下拖拽。注意将19更改为数据范围的最后一行。
这将返回一个索引,它是范围D1:D19中的一个单元。不过,它将首先查找与单元格F1:F19值匹配的范围B1,并获取该行,然后使用Index()中的该行返回值。
编辑:如果出现错误,可以将其包装在Iferror()函数中以输出一些文本。即=IfError(INDEX($D$1:$D$19,MATCH($B1,$F$1:$F$19,0)), $B1 & " not found")
Edit2:为什么我不使用vlookup,如果它们是可压缩的呢?因为您当前的数据布局方式并不允许使用它(无论如何,都很容易)。试着自己设置它,你会发现:=Vlookup(B1,d1:F19,1).没有道理。您需要首先重新排列数据,并将D列编号放在G中,然后这一列才能工作:=VLOOKUP(B1,F1:G19,2,FALSE)
https://stackoverflow.com/questions/32567060
复制相似问题