Google 电子表格相对行编号 + 跳过空单元格
Google spreadsheet relative row numbering + skip empty cell
使用 Google 电子表格,我需要一列来显示相关行编号,以便:
- 电子表格的行可以四处移动,编号保持相对(这意味着如果我在第 4 行和第 5 行之间移动第 12 行,则此行变为第 5 行,前 5 行变为第 6 行,依此类推)
- 使用基于给定行中单元格值的条件,行编号单元格可能为空(或不为空);如果为空,则跳过该行号,并在条件不匹配的下一行中重新编号。
这是一个例子:
|行编号 | B 上校| 【说明】 |
|--------|:--------:|---------------------------- ------|
| R01 |值 1 | |
| R02 |值 1 | |
| R03 |值 2 | |
| |值 3 | Col. B 值 = 3 => Col. A 为空 |
| R04 |值 2 |编号占用 |
| R05 |值 1 | |
| |值 3 | Col. B 值 = 3 => Col. A 为空 |
| R06 |值 2 |编号占用 |
|等等。 | | |
此处,条件(跳过编号)为 "IF corresponding B cell = Value 3"(然后跳过编号)
现在,我正在使用符合上述要求 #1 的公式:
=ROW(INDIRECT("A"&ROW()&":A"))-9
(尾随的“-9”只是一个偏移量,因此编号可以从第 10 行的 01 开始)。
所以基本上,我需要调整(或更改)此代码,以便除了相对编号之外,对于第 N 行,如果相应的 B 列单元格值 = XYZ,则 A 列单元格为空(相对于编号):行被跳过,编号从下一行的 N 开始,其中 B 单元格值 ≠ XYZ。
这里是 Google spreadsheet example。
许多 TIA。
我强烈建议不要在公式中明确指定偏移量的情况下使用 ROW()
,因为如果您在 table 上方 delete/add 行,则必须调整所有单元格中的公式。这是我的解决方案(第 A:A
列是行号,B:B
- 值,开始在单元格 A10
中添加公式):
=IF($B10="Value 3","",ROWS($B:$B10)-COUNTIF($B:$B10,"Value 3"))
或者如果您坚持相对行(将 10
更改为距顶部的偏移量):
=IF(INDIRECT("B"&ROW())="Value 3","",ROWS(INDIRECT("B"&10&":B"&ROW()))-COUNTIF(INDIRECT("B"&10&":B"&ROW()),"Value 3"))
使用 Google 电子表格,我需要一列来显示相关行编号,以便:
- 电子表格的行可以四处移动,编号保持相对(这意味着如果我在第 4 行和第 5 行之间移动第 12 行,则此行变为第 5 行,前 5 行变为第 6 行,依此类推)
- 使用基于给定行中单元格值的条件,行编号单元格可能为空(或不为空);如果为空,则跳过该行号,并在条件不匹配的下一行中重新编号。
这是一个例子:
|行编号 | B 上校| 【说明】 | |--------|:--------:|---------------------------- ------| | R01 |值 1 | | | R02 |值 1 | | | R03 |值 2 | | | |值 3 | Col. B 值 = 3 => Col. A 为空 | | R04 |值 2 |编号占用 | | R05 |值 1 | | | |值 3 | Col. B 值 = 3 => Col. A 为空 | | R06 |值 2 |编号占用 | |等等。 | | |
此处,条件(跳过编号)为 "IF corresponding B cell = Value 3"(然后跳过编号)
现在,我正在使用符合上述要求 #1 的公式:
=ROW(INDIRECT("A"&ROW()&":A"))-9
(尾随的“-9”只是一个偏移量,因此编号可以从第 10 行的 01 开始)。
所以基本上,我需要调整(或更改)此代码,以便除了相对编号之外,对于第 N 行,如果相应的 B 列单元格值 = XYZ,则 A 列单元格为空(相对于编号):行被跳过,编号从下一行的 N 开始,其中 B 单元格值 ≠ XYZ。
这里是 Google spreadsheet example。
许多 TIA。
我强烈建议不要在公式中明确指定偏移量的情况下使用 ROW()
,因为如果您在 table 上方 delete/add 行,则必须调整所有单元格中的公式。这是我的解决方案(第 A:A
列是行号,B:B
- 值,开始在单元格 A10
中添加公式):
=IF($B10="Value 3","",ROWS($B:$B10)-COUNTIF($B:$B10,"Value 3"))
或者如果您坚持相对行(将 10
更改为距顶部的偏移量):
=IF(INDIRECT("B"&ROW())="Value 3","",ROWS(INDIRECT("B"&10&":B"&ROW()))-COUNTIF(INDIRECT("B"&10&":B"&ROW()),"Value 3"))