如何在Google Sheets中获取单元格内出现频率最高的字符?
在Google Sheets中查找单元格内出现频率最高字符的公式
基础公式(包含所有字符,含空格)
如果需要统计所有字符(包括空格、标点)的出现频率,使用以下公式:
=INDEX(QUERY(SPLIT(FLATTEN(MID(N8,SEQUENCE(LEN(N8)),1)),"",0),"SELECT Col1, COUNT(Col1) GROUP BY Col1 ORDER BY COUNT(Col1) DESC LIMIT 1"),1,1)
忽略空格的公式(匹配示例需求)
针对你提供的示例(单元格N8内容为"What's your name?",需返回"a"),需要排除空格的统计,使用修改后的公式:
=INDEX(QUERY(SPLIT(FLATTEN(MID(N8,SEQUENCE(LEN(N8)),1)),"",0),"SELECT Col1, COUNT(Col1) GROUP BY Col1 WHERE Col1 != ' ' ORDER BY COUNT(Col1) DESC LIMIT 1"),1,1)
公式说明
LEN(N8):计算目标单元格的字符总长度SEQUENCE(LEN(N8)):生成从1到字符长度的连续数字序列,用于逐个定位字符MID(N8,SEQUENCE(LEN(N8)),1):提取单元格中每个位置的单个字符,形成字符数组FLATTEN(...):将多维数组扁平化,确保每个字符单独成行SPLIT(..., "", 0):拆分每个字符(空分隔符配合0参数避免忽略空值)QUERY(...):对字符分组统计出现次数,按次数降序排序后取第一组结果INDEX(...,1,1):提取结果中的第一个值,即出现频率最高的字符
额外说明
- 若多个字符出现次数相同,公式会返回第一个出现的高频字符
- 默认区分大小写(如"A"和"a"视为不同字符),若需忽略大小写,可将
MID部分改为LOWER(MID(N8,SEQUENCE(LEN(N8)),1))(返回小写字符)或UPPER(...)(返回大写字符)
内容的提问来源于stack exchange,提问作者Bilha
相关产品推荐
相关产品推荐

