OpenOffice Calc:计算单元格范围内的唯一字符串

Posted

技术标签:

【中文标题】OpenOffice Calc:计算单元格范围内的唯一字符串【英文标题】:OpenOffice Calc: Counting unique strings in cell range 【发布时间】:2018-07-04 11:30:47 【问题描述】:

我正在尝试找到一种方法来计算单列中唯一字符串的数量,不包括空白单元格。到目前为止,我已经看到了以下解决方案:

=SUM(1/COUNTIF(X2:X99;X2:X99))

加上另一个使用 FREQUENCY 而不是 COUNTIF 的类似公式。但是,将此应用于我的电子表格会给我一个没有明显意义的十进制值。例如,如果我的列包含 20 个包含“ABC”的单元格,以及 30 个包含“XYZ”的单元格,我应该有一个输出值为 2。然而,事实并非如此,甚至我可以清楚地看到上面的公式赢了' 不输出任何大于 1 的值,这让我对它的用法感到相当困惑。

数据透视表似乎最有希望,但我也无法让它发挥作用。这是我尝试过的:

选择列,包括标题 选择一个新的数据透视表并使用选定的范围 将标题从可用字段拖到行字段 选择忽略空行选项 创建表

然后创建一个表,第一列中每个唯一条目一行,第二列空。下面一行是 Total Result 单元格,相邻的单元格是空的。

由此,我可以看出软件必须具有某种查找唯一字符串的能力,因此理所当然地,还必须有一种方法来计算它们并在单元格中显示该值。问题是,我该怎么做?

【问题讨论】:

【参考方案1】:

如果 (a) 包含在 SUMPRODUCT 中并且 (b) 范围不包含空白单元格,则您的第一次尝试应该有效:

=SUMPRODUCT(1/COUNTIF(X2:X51;X2:X51))

【讨论】:

这似乎行得通。现在有没有办法让空白单元格也被忽略? 不确定这是否是一个特别优雅的解决方案。难道不能有某种 if(cell=null) 类型的语句,并将其应用于单元格范围吗? 哦等等,我想我找到了解决方案。 =SUMPRODUCT(IF(ISBLANK(A1:A500),"",1/COUNTIF(A1:A500,A1:A500))) 看起来它正在工作。

以上是关于OpenOffice Calc:计算单元格范围内的唯一字符串的主要内容,如果未能解决你的问题,请参考以下文章

一列单元格范围内一串数字中单个数字的总出现次数

Excel VBA函数在单元格范围内查找值

Vba 代码在单元格范围内复制特定值

将 Google Ads 数据导出到特定单元格范围

java poi往excel里面插图片,怎样让图片在指定单元格范围内居中

使用 pyuno 对 calc 文档中的单元格范围进行排序