我想要在Excel中创建一个函数UDF,它应该有一个长度为2或4个字符的值。当它是两个字符时,它返回相同的字符。如果是4,它应该随机选择左边的两个或右边的两个。
问题是,当我想要使用公式RandBetween时,它不识别它(错误:子函数或未定义的函数),但是我能够在子上使用它而不存在任何问题。
Function SCountry(A As String)
If Len(A) = 2 Then
SCountry = A
ElseIf Len(A) = 4 Then
SCountry = Choose(RandBetween(1, 2), Left(A, 2), Right(A, 2)) Or Choose(1, Left(A, 2), Right(A, 2))
Else
SCountry = "Error"
End If
End Function 有什么问题吗?我尝试了一切,我做了一个广泛的搜索,但仍然不知道如何克服这一点。一个正常的公式不会是一个解决办法,因为它太大、太复杂、太容易改变。
发布于 2021-10-15 08:11:26
随机UDF
Option Explicit
Function SCountry(ByVal S As String) As String
Select Case Len(S)
Case 2
SCountry = S
Case 4
SCountry = IIf(Application.RandBetween(-1, 0), _
Left(S, 2), Right(S, 2))
Case Else
SCountry = "Error"
End Select
End Functionhttps://stackoverflow.com/questions/69581473
复制相似问题