excel多个结构相似的工作表中查找满足条件的行并指定内容录入对应列下的单元格?

各位老师,求助如何查找条件并对满足条件的记录对应列输入数据。
目标:多个工作表,结构一样,数据不同,如何快速查找所有满足“姓名为Ben,生日为1998-10-15”的行,满足条件就在该行【满足条件】列填入数据“是”。
我的方法:
1.任意工作表右击选中所有工作表。
2.任意工作表中D2填入函数=IF(AND(A2="Ben", C2="1998-10-15"),"是",D2)。
3.双击加号。

现在存在一个问题,即对于不满足条件的单元格无法返回原始值。搜索了很多类似的问题,设置了迭代计算为1,但不满足条件的地方还是返回0且覆盖了原始值。太难了,有没有老师能帮忙看一看这是什么问题?或者有没有其他的方法可以实现我的需求?

对天你这个问题,为何公式中要在条件不成立时引用单元格本身,在没有输入公式前,单元格是没有数据的,现在用循环引用单元格本身,就是会把原来没有数据(你觉得它是“空”吧)——实际上公式引用时会认为是“0”引用进来。
你的方法建议改进一下:
如果不成立时返回“否”,就把公式中的“D2”修改为“否”;如果要返回空就改为“”:
=IF(AND(A2="Ben", C2="1998-10-15"),"是","")
另一个改进是针对于你的填充方法:如果各个工作表的数据行不一样多,双击填充柄(小加号)时只会按第1个工作表的行数来填充。现在修改为:选择D列足够多的行(与所有工作表行数最多的一致),输入公式:
=IF(A2="","",IF(AND(A2="Ben", C2="1998-10-15"),"是",""))
再按Ctrl+回车键。追问

你好...在条件不成立时引用单元格本身的原因是因为并不是所有单元格都是空值,有些原始单元格是有数据的比如说我图1中的“考虑”“N/A”“否”等等,我的目的是仅仅满足条件的行对应单元格标记“是”。其他的原始数据不变。图1是我的原始数据,图2是我的目标结果。

追答

公式下拉肯定会覆盖原有数据,想要保持原有数据,就可能下拉。
可以这样来处理:
按前面说的方法选择区域,再按Ctrl+G,调出定位对话框,选择“空值”,确定后,原来有数据的单元格就不会选择了。再输入前面的公式,同样按Ctrl+回车键,一次完成公式输入。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-15
再加一列,使用你那个公式。
你的问题是要引用当前使用公式的格,这个不行
非要用这一列的话用VBA,或者用前面说的另一列算好后,复制值回到D列追问

你好,感谢回答,那请问有其他的方法吗?我现在的做法是对所有行进行判断,有没有只检索满足条件的行并对该行进行处理呢?

追答

用VBA肯定可以呀,公式要看你具体的处理,或者用筛选来实现判断,包括数据透视表也是

第2个回答  2020-03-15
COUNTIF函数。
如果工作表很多还是用VBA吧。追问

看了一下该函数的用法,countif函数是对指定区域中符合指定条件的单元格计数的一个函数。我的目的不是对满足条件的行数进行计数,我希望的是能够在满足条件的行对该行指定列进行标记。如我例子,满足条件在【满足条件】列标记“是”。请问你是有特殊的方法可以实现吗?麻烦详细说明一下,感谢!

追答

活学活用兄弟,你说的是COUNTIF函数基本用法,但它也能实现你的要求。没表无法准确表达。

相似回答