根据前一个单元格的值切换单元格值
Toggle cell value based on previous cell's value
我想制作一个自动签入电子表格。当电子表格添加新行时,它会检查最后一次提到该名称的值,并在 "in" 和 "out" 值之间切换。
我试过弄清楚,但我不知道如何让它工作(而且我确实缺乏 Excel 的知识)。
这就是我要的:
------------------------------------------
itemName01 | 10/06/16 | in
------------------------------------------
itemName02 | 10/06/16 | in
------------------------------------------
itemName03 | 10/06/16 | in
------------------------------------------
itemName02 | 11/06/16 | out
------------------------------------------
itemName01 | 12/06/16 | out
------------------------------------------
itemName01 | 13/06/16 | in
------------------------------------------
itemName05 | 15/06/16 | in
------------------------------------------
itemName01 | 18/06/16 | out
因此,对于加班,添加了 itemName##,它将以 col3 中的 "in" 开始,然后切换。
我尝试使用查找,然后使用反向查找来切换之前的输入,但一直失败并显示#VAL!和#REF!错误。
这是我用于 col3 的内容:
最初,获取值(但它 returns 从上到下)
=LOOKUP("itemName01",A:A,B:B)
然后从下到上
=IF((LOOKUP(2,1/(A:A="itemName01"),C:C )) = "in", "out", "in")
在 C2 试试这个,
=IFERROR(IF((LOOKUP(2,1/(A1:A=A2), C:C1 )) = "in", "out", "in"), "in")
根据需要填写。
由于 B 列中日期时间戳的必要性,您可能还想通过 Worksheet_Change 事件宏(对于 Excel)来研究自动化。
我想制作一个自动签入电子表格。当电子表格添加新行时,它会检查最后一次提到该名称的值,并在 "in" 和 "out" 值之间切换。
我试过弄清楚,但我不知道如何让它工作(而且我确实缺乏 Excel 的知识)。
这就是我要的:
------------------------------------------
itemName01 | 10/06/16 | in
------------------------------------------
itemName02 | 10/06/16 | in
------------------------------------------
itemName03 | 10/06/16 | in
------------------------------------------
itemName02 | 11/06/16 | out
------------------------------------------
itemName01 | 12/06/16 | out
------------------------------------------
itemName01 | 13/06/16 | in
------------------------------------------
itemName05 | 15/06/16 | in
------------------------------------------
itemName01 | 18/06/16 | out
因此,对于加班,添加了 itemName##,它将以 col3 中的 "in" 开始,然后切换。
我尝试使用查找,然后使用反向查找来切换之前的输入,但一直失败并显示#VAL!和#REF!错误。
这是我用于 col3 的内容:
最初,获取值(但它 returns 从上到下)
=LOOKUP("itemName01",A:A,B:B)
然后从下到上
=IF((LOOKUP(2,1/(A:A="itemName01"),C:C )) = "in", "out", "in")
在 C2 试试这个,
=IFERROR(IF((LOOKUP(2,1/(A1:A=A2), C:C1 )) = "in", "out", "in"), "in")
根据需要填写。
由于 B 列中日期时间戳的必要性,您可能还想通过 Worksheet_Change 事件宏(对于 Excel)来研究自动化。