首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -使用条件查找值

Excel -使用条件查找值
EN

Stack Overflow用户
提问于 2012-10-22 13:46:25
回答 2查看 734关注 0票数 0

我一直在尝试做以下几件事:

  • Sheet1,在Data中查找值A3
  • Data,检查所找到的值在M 列中是否有一个1
    • 是的:将K列的值从Data粘贴到Sheet1B3列中
    • 否:继续在工作表中搜索,如果没有发现,则显示0

这是我到目前为止所得到的,它找到了正确的K值,但是我需要输入shift+ctrl+enter来得到这个值…

代码语言:javascript
复制
=INDEX('TLN Data'!$B$1:$Z$15000; MATCH(1;(A3='TLN Data'!$B$1:$B$15000)*(1='TLN Data'!$M$1:$M$15000);0); 10)

所有的帮助都非常感谢!

--

Sheet1

TLN数据

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 14:25:08

您可以添加索引函数以获得不需要CSE的版本,即

=INDEX('TLN Data'!$B$1:$Z$15000; MATCH(1;INDEX((A3='TLN Data'!$B$1:$B$15000)*(1='TLN Data'!$M$1:$M$15000);0);0);10)

在某些情况下,这比SUMPRODUCT更可取,例如,返回值为文本,或者如果您有多个匹配,并且只想要第一个匹配。

您还可以使用这样的查找:

=LOOKUP(2;1/(A3='TLN Data'!$B$1:$B$15000)/(1='TLN Data'!$M$1:$M$15000);'TLN Data'!$K$1:$K$15000)

如果有多个匹配返回最后一个,则使用该版本

票数 1
EN

Stack Overflow用户

发布于 2012-10-22 13:59:38

尝试使用SUMPRODUCT (您不需要将其作为数组输入):

代码语言:javascript
复制
=SUMPRODUCT(
    --('TLN Data'!$B$1:$B$15000=A3), 
    --('TLN Data'!$M$1:$M$15000=1),
    'TLN Data'!$K1:$K$15000)

这使用了与上面的MATCH公式类似的逻辑:

  1. 返回10的数组,其中1表示列B中的值等于A3的行( --将数组转换为10-否则包含TRUE/FALSE)。
  2. 将该数组乘以另一个10的数组,这次使用一个1表示列M包含数字1的行。
  3. 最后,将该数组乘以所有列K。这将产生一组0数组,然后产生一个(或多个)值,表示满足条件的列K中的值。

编辑:在处理文本时,@barryhoudini提供的INDEX公式(与原始文本稍有不同)将起作用。

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

https://stackoverflow.com/questions/13012793

复制
相关文章

相似问题

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