我创建了一个 Excel 电子表格,其中列出了一个系列中的漫画。每部漫画都有一行数据。一个单元格包含该漫画的版本列表。以下是一个例子:
1-3,5-7,12-23, 25,28-34,36-38,43。
因此我有问题 1 到 3、问题 5 到 7、问题 12 到 23、问题 25 等等。
我应该计算每部漫画的总数,但我想知道是否有办法从我的发行列表中“计算”每种类型的漫画数量?谢谢
我创建了一个 Excel 电子表格,其中列出了一个系列中的漫画。每部漫画都有一行数据。一个单元格包含该漫画的版本列表。以下是一个例子:
1-3,5-7,12-23, 25,28-34,36-38,43。
因此我有问题 1 到 3、问题 5 到 7、问题 12 到 23、问题 25 等等。
我应该计算每部漫画的总数,但我想知道是否有办法从我的发行列表中“计算”每种类型的漫画数量?谢谢
我们需要:
a)用逗号分割字符串,以获取唯一范围,然后
b) 按连字符拆分每个范围,以计算其中代表多少个项目。
如果范围是两个数字,那么我们计算
INDEX(p,,2)-INDEX(p,,1)+1
。如果范围只是一个数字,我们可以用 将其转换为相同的格式
INDEX(p,,1)-INDEX(p,,1)+1
。然后,唯一的变量组件是第一次调用的列索引
INDEX
,我们可以通过计算连字符拆分结果中的数字 COUNT 来提供该索引。我们将函数 MAP 到从 (a) 获得的数组上来计算 (b),然后对结果进行 SUM。
如果您有 Excel 365,则可以使用这个东西:
LET()
接受变量名和值,然后存储这些值以供以后通过变量名引用。step1,VALUE(TRIM(TEXTSPLIT(A1,"-",",")))
将文本拆分为行(当有逗号时)和列(当有连字符时),删除所有空格,然后将其从文本转换为数值。生成的数组存储为step1
。step2,BYROW(step1,LAMBDA(val,IFERROR(INDEX(val,1,2)-INDEX(val,1,1)+1,1)))
看起来更复杂(至少对我来说),但它会遍历每一行step1
并从第二个值中减去第一个值。如果没有第二个值,则会step1
出现错误,因此我们在该实例中使用IFERROR()
它返回1
。SUM(step2)
将结果相加。作为单独的 Python 脚本的问题计数器:
注意:某些版本的 Excel 可以运行 Python 脚本,但只能通过将它们发送到云端来实现。
代码:这两个
print()
语句用于验证正确的输出,并使用示例问题列表作为函数的默认参数。示例运行如下:
...删除 print() 语句,其余部分就是可以用纯 Python 导入的函数;在写这篇文章时,如何在 Excel 中使用它是未知的(对我来说)。
还有一个变体。
这个数字列表可以转换为地址,并且可以计算行数之和。
最终公式:
TEXTBEFORE
获取范围结束/开始在B1中输入: