我没有任何代码,因为我不知道该怎么做,但我想要做的是找到特定行中有多少个字母,并将这个数字放入同一行中的不同单元格。
也许这有助于解释,我做的第一件事就是取一串字母并将其分解,以便每个字母从那里放入自己的单元格中,我需要找到一个字母多少次,例如。 " A",发生并将它放入自己的单元格中。
提前感谢您的帮助!
答案 0 :(得分:0)
这是一个应用于第4行的方法:
<强>解释强>
=SUMPRODUCT(LEN(4:4))
=SUMPRODUCT(LEN(SUBSTITUTE(4:4,"a","")))
=SUMPRODUCT(LEN(SUBSTITUTE(4:4,"A","")))
2*SUMPRODUCT(LEN(4:4)) - SUMPRODUCT(LEN(SUBSTITUTE(4:4,"a",""))) -SUMPRODUCT(LEN(SUBSTITUTE(4:4,"A","")))
有必要减去&#34; A&#34;和&#34; a&#34;因为SUBSTITUTE
区分大小写。如果我们需要计算区分大小写的字母(例如a
),则公式更简单:
SUMPRODUCT(LEN(4:4)) - SUMPRODUCT(LEN(SUBSTITUTE(4:4,"a","")))
唯一需要注意的是,这个公式不能放在第4行,因为会出现循环引用。
修改强>
Uuuups,只是注意到它应该是VBA
:
Option Explicit
Function noOfChars(myChar As String, lRow As Long) As Long
' Needs extra error handling, better to return a Variant
Dim sChars As String, vChar As Variant
With Application
vChar = .Transpose(.Transpose(Range(lRow & ":" & lRow).Value2))
End With
sChars = Join(vChar) ' <-- Needs error handling
noOfChars = Len(sChars) - Len(Replace(sChars, myChar, vbNullString, _
compare:=vbTextCompare)) ' <-- Needs error handling
End Function
我希望这有帮助!