[英]Is a cell value in column B in column A? (LibreOffice-Calc)
我需要C列的功能来显示他未在(A)中列出的我的任何电影(B)。
伪代码:
我搜索并找到了这些功能-无论出于何种原因,这些功能都不起作用。 我已经将它们修改为8000,这是我认为我永远不会接近的上限。
=IF(ISERROR(MATCH(B1,$A$1:$A$8000,0))=1,B1,"")
=IFERROR(MATCH(B1;$A$1:$A$8000;0);"")
=IFNA(VLOOKUP($B1;$A$1:$A$8000;1;0);"")
=IF(ISNA(VLOOKUP($B1;$A$1:$A$8000;1;0));"";VLOOKUP($B1;$A$1:$A$8000;1;0))
=IF(ISNA(VLOOKUP($B1,$A$1:$A$8000,1,0)),"",VLOOKUP($B1,$A$1:$A$8000,1,0))
=VLOOKUP(B1,$A$1:$A$8000,1,)
=MATCH($B1;$A$1:$A$999;0)
我希望它是单单元功能,而不是VBA。
我实际上是在2001年使用Excel解决此问题的。 然后,诀窍是我必须编辑单元格并使用Ctrl-Shift-Enter创建“动态数组”,因此该函数放在{}大括号内。 但是现在我正在使用最新的LibreOffice Calc,并且无法正确使用@ #$ #语法。
谢谢!!
编辑注意:使用“ A”和“ 00001”数字进行测试会产生非常不同的结果。 两列中的值都必须看起来像这样:
好的,我已经在Open Office中测试了以下结果:
=IF(ISERROR(MATCH(B1,$A$1:$A$8000,0))=1,B1,"")
出现错误508,因为逗号需要更改为分号。
**=IF(ISERROR(MATCH(B1;$A$1:$A$8000;0))=1;B1;"")**
很好
=IFERROR(MATCH(B1;$A$1:$A$8000;0);"")
给#名字? 因为无法识别IFERROR。
=IFNA(VLOOKUP($B1;$A$1:$A$8000;1;0);"")
给#名字? 因为无法识别IFNA。
=IF(ISNA(VLOOKUP($B1;$A$1:$A$8000;1;0));"";VLOOKUP($B1;$A$1:$A$8000;1;0))
可行,但给出相反的结果。
**=IF(ISNA(VLOOKUP($B1;$A$1:$A$8000;1;0));B1;"")**
会没事的。
=IF(ISNA(VLOOKUP($B1,$A$1:$A$8000,1,0)),"",VLOOKUP($B1,$A$1:$A$8000,1,0))
逗号
=VLOOKUP(B1,$A$1:$A$8000,1,)
逗号
=MATCH($B1;$A$1:$A$999;0)
可行,但只给出比赛的位置。
可能最简单的方法是:
**=IF(COUNTIF(A$1:A$8000;B1);"";B1)**
不幸的是,在Libre / Open Office中,似乎带有括号的字符串正在提供虚假匹配。 我猜你可以通过替代来解决
=IF(COUNTIF(SUBSTITUTE(SUBSTITUTE(A$1:A$10;"(";"<");")";">");SUBSTITUTE(SUBSTITUTE(B1;"(";"<");")";">"));"";B1)
输入为数组公式并向下复制(而不是下拉),或者全局编辑所有方括号:-(。
既然我已经知道了@Lyrl的根本原因,那么还有另外一种选择,可以按照建议关闭正则表达式,否则您可以使用括号:
=IF(COUNTIF(A$2:A$11;SUBSTITUTE(SUBSTITUTE(B2;"(";"\(");")";"\)"));"";B2)
在此处查看有关Open Office中正则表达式的文档
这应该做到的
=IF(ISNUMBER(MATCH(B1,$A$1:$A$8000,0)),"",B1)
经过测试的配方
=IF(ISNA(MATCH(B1,$A$1:$A$8000,0))=TRUE(),B1,"")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.