答案1
根据扫描次数明确标明“Out”或“In”的列可能会对您有所帮助。代码可以放在每行的新列中,并应让您知道此信息。请注意,我假设奇数次扫描表示“Out”状态,偶数次扫描表示“In”状态。
将其添加到新列:
=IF(MOD(COUNTA($B2:$ZZ2),2)=0,"In", "Out")
其中 B 是时间戳的第一列,ZZ 是您能想象到的最远扫描距离。
COUNTA() 计算非空白单元格的数量。MOD() 执行模数运算符,表示除法后的余数。IF() 根据测试的真或假结果设置一个值。
从那里,您可以使用条件格式根据“IN/OUT”列自身的值将其着色为适当的颜色。
如果您无法添加列因为需要更改 VBA 代码,这是不可接受的,所以您可以使用这个公式代替我下面为您的条件格式提供的公式:
=MOD(COUNTA(C1:ZZ1),2)>0
此公式将检查物品是否已出库。使用此公式检查物品是否在库中:
=MOD(COUNTA(C1:ZZ1),2)<1
我认为这是条件格式的绝佳用途!
首先选择条形码列,然后转到顶部功能区上的条件格式。
选择“新规则”
选择规则类型列表中的最后一个选项:“使用公式确定要格式化的单元格。”
在公式栏中使用此代码输入此
=ISNUMBER(FIND("Out",$A2))
其中 A2 代表 In/Out 列的位置。请注意,美元符号保留 A 列,但向下调整每行的规则。
现在选择您想要的格式(即条形码单元格的颜色背景)。
然后,当项目为“In”时,您将重复这些步骤以使用绿色背景进行格式化。
编辑:仅供参考,FIND() 函数尝试在指定位置查找给定的文本。如果它找到了您要查找的文本,则它将返回文本在字符串中开始的位置,否则将返回错误。然后我们可以使用 ISNUMBER() 来检查返回的值是否为数字,因此是否位于指定的单元格中。