excel 如何简化公式

来源:百度知道 编辑:UC知道 时间:2024/06/02 10:54:16
=IF(N6<60,B6,"")&IF(N7<60,B7,"")&IF……&IF(N41<60,B41,"")
有没办法简化?excel提示公式太长,无法输入完整公式。。。谢谢!
谢谢ztyemil的解答,但是写了公式
=IF(N6:N41<60,B6:B41,"")
按CTR+shift+回车键结束以后,返回的值只有一个值,而不是所有符合条件的值。。如下:
A B
6 陈 59
7 李 55
8 刘 60
……
结果只显示了“陈”,希望显示“陈 李”如何修改公式?

可以通过辅助列或vba解决。

下面给一个vba自定义函数的方法:
按住ALT依次按F11,I,M
粘贴下面的代码
Function CONCATENATEIF(range, criteria, CONCATENATE_range)
Dim t As String
For r = 1 To range.Cells.Count
If Application.Evaluate(range.Cells(r) & criteria) Then t = t & " " & CONCATENATE_range.Cells(r)
Next
CONCATENATEIF = Trim(t)
End Function

回到工作表中
在需要结果的单元格输入公式
=concatenateif(N6:N41,"<60",B6:B41)

PS:函数用法类似sumif,区别是如果是等于的情况,需要输入=
例如=concatenateif(N6:N41,"=100",B6:B41)

=IF(N6:N41<60,B6:B41,"")
输入以手按CTR+shift+回车键结束,结束以后显示的公式是这样的:
{=IF(N6:N41<60,B6:B41,"")}
这叫数组公式,就可以得到你要的结果了。

不可能吧,你不是是希望所有符合条件的结果都 显示到一个单元格中吧!

我来帮你解释: ztyemil的公式是对的,是你自己没操作好:在一个单元格里输入公式后回车,然后选中这个单元格向下拖动至数据最后,接着按F2,再按SHIFT+CTRL+ENTER结束,这样所有符合公式的值全部都计算出来了。