首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较Excel列中的文本,然后将相应的值分配给特定列

比较Excel列中的文本,然后将相应的值分配给特定列
EN

Stack Overflow用户
提问于 2015-09-14 14:14:04
回答 1查看 1.6K关注 0票数 1

我在Excel工作表中有一些值,即B、D和E列中的值:

代码语言:javascript
复制
**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中手动地放置了一些值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32567060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档