一个答疑案例:给数据列中的数值按其出现的次数编号。具体需求看案例。
案例:将下图 1 中的数值按以下规则编号:
如果数值在列表中仅出现过一次,那么就保留原数值;
如果出现多次,那么就以 1.1,1.2,1.3……这样的顺序依次编号
效果如下图 2 所示。
解决方案:1. 在 B1 单元格中输入以下公式 --> 下拉复制公式:
=IF(COUNTIF($A$1:$A$24,A1)=1,A1,A1&"."&COUNTIF(A$1:A1,A1))
公式释义:
IF(COUNTIF($A$1:$A$24,A1)=1,A1:计算 A1 单元格在数据区域中总共出现了几次,如果仅 1 次,那么就保留 A1 的值;
COUNTIF(A$1:A1,A1):计算到目前为止 A1 在数据区域中出现了第几次;
A1&"."&...:如果 A1 出现的次数大于 1,那么就在其后面加上“.”和出现的顺序数,从而起到编号的效果
此时的 B 列格式,有的是数值,有的是文本,很不统一,我们索性把格式调整一致。
2. 将 B 列复制粘贴为“值”。
3. 选中 B 列 --> 按 Ctrl+1
4. 在弹出的对话框中选择“数字”选项卡 --> 选择“文本”--> 点击“确定”
** 此处是彩蛋 **
为什么不把 B 列设置为数值,而是文本格式呢?因为如果是数值的话,20 行的 2.10 就会显示成 2.1,编号就不对了。