在this former post中,Taosique提供了一个解决方案,使编号单元格在一个条件下为空,跳过此单元格的编号,并将其带回后续相关单元格,行可以是四处移动,(相对)编号改编。
基本上,如果相邻B单元格=值3,则使A单元格为空,并跳过编号;然后收回相对编号。
| Row nbr | B col. | [Explanation] | |---------|:-------:|-------------------------------------| | R01 | Value 1 | | | R02 | Value 1 | | | R03 | Value 2 | | | | Value 3 | Col. B value = 3 => Col. A is empty | | R04 | Value 2 | Numbering takes up | | R05 | Value 1 | | | | Value 3 | Col. B value = 3 => Col. A is empty | | R06 | Value 2 | Numbering takes up | | ETC. | | |
这很有效:
=IF(INDIRECT("B"&ROW())="Value 3","",ROWS(INDIRECT("B"&10&":B"&ROW()))-COUNTIF(INDIRECT("B"&10&":B"&ROW()),"Value 3"))
..可以在example spreadsheeet上看到。
现在我需要更进一步,并在多个(OR)条件下应用相同的逻辑,因此如果B单元格值="值3"则跳过编号。或"价值2" (不只是"值3和#34;)。
我尝试在这里调整公式:
=IF(OR(INDIRECT("B"&ROW())="Value 3";INDIRECT("B"&ROW())="Value 2";"";ROWS(INDIRECT("B"&10&":B"&ROW()))-COUNTIFS(INDIRECT("B"&10&":B"&ROW());"Value 3";(INDIRECT("B"&10&":B"&ROW());"Value 2"))))
第一个OR条件似乎没问题;我将COUNTIF切换到COUNTIFS,因此我可以使用多个条件,但这会产生错误。也许是因为我混合了COUNTIFS和INDIRECT?因为即使这最后一部分也会引发错误:
=COUNTIFS(INDIRECT("B"&10&":B"&ROW());"Value 3";(INDIRECT("B"&10&":B"&ROW());"Value 2"))
很抱歉,如果我错过了明显的内容。
答案 0 :(得分:0)
组合公式将足够长,以至于将来难以维护和更新。问题是您要生成两次相同的查询。
我建议在B处插入一个新列(将当前列B推送到C),然后编写一个公式,例如=IF(OR(C2="value 2",C2="value 3"),"skip","")
然后,为了清楚起见,将原始公式中的"value 3"
更改为"skip"
,并且(如果您愿意)隐藏辅助列B.这样可以更方便地为您提供公式维护,你可以使B列中的布尔条件尽可能复杂,没有太大的困难。