google-sheets - 如何计算具有特定第一个和最后一个字符的单元格组将这些组包裹在 Google 表格中?
问题描述
我正在尝试计算具有特定第一个和最后一个字符作为计数标准的特定单元格组中包含多少个单元格。
每组单独计数。
最终结果应该是这样的:
因此,对于以字符“#”作为第一个和最后一个字符开始和结束的每组单元格,结果应该从第一个单元格到该组的最后一个单元格的单元格/行求和。
因此,对于以字符“^”作为第一个和最后一个字符开始和结束的每组单元格,结果应该从第一个单元格到该组的最后一个单元格的单元格/行求和。
但是该公式应从计数中排除任何不以字符“^”或“#”作为第一个和最后一个字符开头和结尾的单元格。
理想情况下,将总和结果显示在左侧每个组的最后一个单元格上(如上面屏幕截图中的 B 列所示)。
到目前为止,我只提出了 =ROWS() 函数来手动计算这些组的单元格。但这很乏味。
例如,要处理屏幕截图示例,我会这样做:
=ROWS(C3:C5) (with 3 as result in cell B5)
然后
=ROWS(C8:C10) (with 3 as result in cell B10)
单元格 B15 中没有任何内容
然后
=ROWS(C23:C25) (with 3 as result in cell B25)
等等。
如何在整个 B 列上使用单个公式获得这些结果?
解决方案
与此同时,我发现了这篇文章:
这部分回答了我帖子的计数部分。
它让我思考,我想出了这三个步骤。
第一步:用 len 计算所有单元格。
=IF(len(C2),1,"")
第二步:调整公式:
IF(C2="",SUM(C3:INDEX(C3:C,MATCH(TRUE,(C3:C=""),0))),"")
在上面的帖子中找到,对此(考虑到多个中间空白行(D1、D2、D3、D4 等):
=IFS(OR(AND(D1="",D2="",D3="",D4=""),AND(D1="",D2="",D3=""),AND(D1="",D2=""),D1=""),SUM(D2:INDEX(D2:D,MATCH(TRUE,(D2:D=""),0))),TRUE,"")
第 3 步:将第 2 步公式向下移动到单元格 F4 并从那里向下拖动以在每组的最后一个单元格中获得结果(而不是在每组上方的单元格上,如 E2 上的原始公式位置)
剩下的问题:
如何指定 sum 函数以对特定字符(示例中的“#”和“^”)而不是单元格条件的 len 函数进行操作?
如何将零单元格结果更改为空白?
如何将 2/3 步公式组合成单步公式?
如果需要,这是电子表格的副本:
4:如何计算在 Google 表格中包含特定首尾字符的单元格组?
或者,按照@shawnrad 的这篇文章的回答:
我在这里使用了 LEFT 和 RIGHT 函数:
=IF((OR(LEFT(C1,1)="#",RIGHT(C1,1)="#",LEFT(C1,1)="^",RIGHT(C1,1)="^")),1,"")
得出这些结果:
=IF(OR(COUNTIF(C2,"#*"),COUNTIF(C2,"*#"),COUNTIF(C2,"^*"),COUNTIF(C2,"*^")),1,"")
然后如何应用 SUM 函数或任何其他函数来对最后一个函数的返回结果之间(包括)之间的每个间隔的单元格/行求和?
推荐阅读
- java - 从 PDF 中解析对象,带有字节流的对象由于某种原因被忽略?
- ansible - Ansible Inventory - 在循环中使用组中的主机条目
- r - 如何拟合和检查负二项分布以计算 R 中的数据?
- python - 在给定条件的 TensorFlow 中创建图的子图
- python - 如何在 Django 中的服务器的缩进行中显示 user_list?
- nginx - 如何将“上游尝试”添加到我发送到后端服务器的请求中
- android - 如何更新 SQLite 中的空日期字段
- c# - 此条件表达式的语法
- time-complexity - 用 Big O 简化具有两个参数的函数的复杂性
- react-native - React Native 中的映射对象