我所拥有的:
A列具有该数据24 / 25,25 / 26,最大为100/101,而B列具有该数据24,25,26,最大为101。使用Left函数,我正在检查Left(24 / 25,2)和B列。...到达100/101时,我的收益为10。
我想要什么:
Left(100 / 101,2)然后它已经返回100我该怎么办,我知道如果我们给3,那么它将返回,但是当我们给3然后24 /也会来。给我任何建议。
答案 0 :(得分:0)
工作表公式版本:
您要在单元格中查找“ /”的位置,然后删除1。这将为Left提供“ /”之前的字符数。因此,如果数据在A2中,则将以下内容放在B2中:
=IFERROR(LEFT(A2,FIND("/",A2)-1),"")
VBA版本(用户定义的功能)可能类似于:
您提到使用Instr
。
Option Explicit
Public Sub TEST()
Debug.Print GetLeft([A2].Text)
End Sub
Public Function GetLeft(ByVal aString As String) As Variant
If InStr(aString, "/") > 0 Then
GetLeft = Left$(aString, InStr(aString, "/") - 1)
Else
GetLeft = CVErr(xlErrNA)
End If
End Function
答案 1 :(得分:0)
您可以使用Split Function:
Dim str As String
str = "24/25,25/26"
Dim arr As Variant
arr = Split(str, "/")
结果为
'arr(0) is "24"
'arr(1) is "25,25"
'arr(2) is "26"
答案 2 :(得分:0)
使用Like
。
If Range("A4").Value2 & "/" Like "*" & range("B4").Value2 & "/*" Then
我在每边的右侧添加了一个“ /”,以避免10匹配100或101。