如何用Excel正字计数
发布网友
发布时间:2022-04-28 19:45
我来回答
共3个回答
热心网友
时间:2022-06-22 23:33
Excel正字计数:1为一,2为丁,3为下,4为止,5为正。
1、打开Excel,如果是1,则用中文大写一表示。
2、如果是2,则用丁表示。
3、如果是3,则用下来计数。
4、如果是4,则用止来表示。
5、5则是用正表示,6、7、8、9则用正加前面一丁下止表示。
热心网友
时间:2022-06-22 23:34
符号约定:1用一,2用丁,3用下,4用止,5用正
创建公式:=IF(MOD(A1,5)<>0,REPT("正",INT(A1/5))&CHOOSE(MOD(A1,5),"一","丁","下","止"),REPT("正",INT(A1/5)))
效果如下:
热心网友
时间:2022-06-22 23:34
比如A列姓名,B列是你划正的列,C列统计票数
B列你每记一票,输入单个字符一次比如每一票输入一个1
C2输入=len(B2) 公式下拉
这种方法的缺点是输入字符时不方便。
用VBA解决就很方便了,您可以设置点击该姓名一次,统计列自动增加1,如果误点,可以设置击点该姓名行统计列单元格就减去1,这样就能够准确的统计,还可以设定列来记录每读一票划上一竖而统计列直接统计数字。
代码如下
把代码复制到您的表格VBA中的统计中下
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim t As String
t = "|"
If Target.Row > 1 And Target.Column = 1 And Target.Count = 1 Then '指定点击的列为A列且只选一个单元格从第二行开始(第一行标题行)
Cells(Target.Row, 3) = Cells(Target.Row, 3) + 1 '每点姓名一次,C列统计+1
Cells(Target.Row, 2) = Application.Rept(t, Cells(Target.Row, 3)) '每点姓名一次,B列增加一竖
Cells(Target.Row, 2).Select
End If
If Target.Row > 1 And Target.Column = 3 And Target.Count = 1 Then '指定点击C列且只选一个单元格从第二行开始
Cells(Target.Row, 3) = Cells(Target.Row, 3) - 1 '每点击统计一次,统计减1
If Cells(Target.Row, 3) > 0 Then
Cells(Target.Row, 2) = Application.Rept(t, Cells(Target.Row, 3)) '根据统计列划竖线
Else
Cells(Target.Row, 2) = "" '统计为<1时B列为空
End If
End If
End Sub