我的网格是这样的:
A A A A A
B C C C C C
B C C C C C
B C C C C C
B C C C C C
B C C C C C
每个A
和B
都是从工作表中其他位置的其他工作中创建位数组而得到的数值。
在C
中,我需要在交叉A
和B
上执行按位AND,并测试结果是否大于零(即,至少有一个匹配的位值“1”)。
必须是纯Excel公式,不能使用宏 - 它以条件格式使用。使用宏来模拟条件格式不是一个选项,也不是创建一个复制C
的表并使用宏来存储条件格式可以查看的答案。
A
和B
的值可以存储为1和0的字符串,如果某些字符串魔术更容易执行。
有什么想法吗?
修改
接受的答案给了我我需要的东西,但是对于子孙后代,这里是如何扩展它以扩展该解决方案以给出按位回答:
AND = SUBSTITUTE(SUBSTITUTE(TEXT(VALUE($A2)+VALUE(B$1),"1","0"),"2","1")
OR = SUBSTITUTE(TEXT(VALUE($A2)+VALUE(B$1),"2","1")
XOR = SUBSTITUTE(TEXT(VALUE($A2)+VALUE(B$1),"2","0")
答案 0 :(得分:2)
将其保存为0和1的字符串,将它们一起添加为数字,将其转换为字符串并查找2。
=ISNUMBER(SEARCH("2",TEXT(VALUE($A2)+VALUE(B$1),"0")))
在单元格B2中复制A2和B1中的数据,然后复制并粘贴。
编辑哇!他们已经放入了DEC2BIN()函数!
=ISNUMBER(SEARCH("2",TEXT(VALUE(DEC2BIN($A2))+VALUE(DEC2BIN(B$1)),"0")))
并留下他们的数字。
答案 1 :(得分:0)
如果您正在进行OR(您正在描述)或=(A + B) > 0
,如果您正在进行AND(就像您实际上正在写作),那么=(A + B) > 1
怎么样。