需要使用VBA在Excel中创build用户定义的函数
我完全坚持在Excel VBA中为以下问题创build用户定义的函数。 任何帮助将不胜感激。
我的excel文件看起来像这样(为简洁起见只添加一小部分):
ABCD 1 Susan Reagan Smith 2 Jill L Taylor 3 Sarah Sullivan Williams 4 Roger J Lopez
我想要一个函数来确定:如果A1 = Susan OR Jill OR Sarah,则B1> 1的AND LEN(string的长度)那么D1 = A1 / 2 B1 C1否则A1 / 2 C1
所以D列中的输出将如下所示:
ABCD 1 Susan Reagan Smith Susan /2 Reagan Smith 2 Jill L Taylor Jill /2 Taylor 3 Sarah Sullivan Williams Sarah /2 Sullivan Williams 4 Roger J Lopez Roger /2 Lopez
我想要使用VBA,因为我有很多名称要添加,并不真正想要在嵌套的if语句很多的D1单元格中的一个巨大的公式。 我一直在自己的工作,但它只是一团糟,我很尴尬的发布在这里。 多谢你们!
Public Function JoinNames(A, B, C) If FirstNameMatches(A) And Len(B) > 1 Then JoinNames = A & " /2 " & B & " " & C Else JoinNames = A & " /2 " & C End If End Function Private Function FirstNameMatches(N) As Boolean Select Case N Case "Susan", "Jill", "Sarah" FirstNameMatches = True End Select End Function
在工作表上的其他地方有一个名字列表。
使用IF(ISNA(MATCH(A1, list_of_names, 0)), "Not found", "Found")
来确定名字是否被识别。