在一栏中,我有一些像这样的值:
count = "${length(split(',', azurerm_app_service.backend.outbound_ip_addresses))}"
并且我需要从每个错误行中获取所有行,直到下一个错误值为止, 在一个组中,该组将自动递增:
|------------|----------------|
| false | abc |
| | def |
| false | mpla |
| | xyz |
|-----------------------------|
我应该尝试使用哪个Excel公式?
答案 0 :(得分:0)
在数据前增加一行(行1),然后将公式=C1+IF(A2="false";1;0)
放入第三列(C)。
答案 1 :(得分:0)
正如德米特里(Dmitry)所述,您可以在顶部添加另一行,并使用它来将累加器初始化为零。每次遇到非空白单元格时,都可以将前一个值增加1。
我之所以没有检查错误,是因为错误有点棘手。如果您使用TRUE而不是FALSE,那么第2行(向前)的公式将是:
=$C1+IF($A2=TRUE,1,0)
目前我无法访问Excel来编写VB脚本,但是我编写了一个简单的Google脚本来填充ID。我相信您可以在VB中执行类似的操作。
样本数据
Group Name ID <-- Add third column
FALSE abc
def
FALSE mpla
xyz
您可以执行脚本以遍历工作表并填写ID列。
function autoAassignGroupId() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(),
rangeData = sheet.getDataRange(),
lastColumn = rangeData.getLastColumn(),
lastRow = rangeData.getLastRow(),
searchRange = sheet.getRange(2, 1, lastRow-1, lastColumn-1),
rangeValues = searchRange.getValues(),
auto_index = 0;
for (row = 0 ; row < lastRow - 1; row++) {
if (rangeValues[row][0] === false) auto_index++;
sheet.getRange(row + 2, lastColumn).setValue(auto_index);
}
}
答案 2 :(得分:0)
仅需注意一点,没有任何帮助行:=COUNTIF(INDIRECT("A1:A"&ROW(A1));FALSE)
。以为我会把它放在那里:)
很明显,如果您的列a包含纯文本,它将变为:=COUNTIF(INDIRECT("A1:A"&ROW(A1));"FALSE")