拆分:下标必须在 1 和数组大小之间
Split: A subscript must be between 1 and the size of the array
我有一个超级简单的公式。问题是有时数据没有第二个值,或者有时该值是空白的。
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
ID
111 222
123
123 222
我在想,如果我能想出一些逻辑来弄清楚字符串是否有多个值,它会解决我的问题,但还没找到我要找的东西:
If {PO_RECEIVE.VENDOR_LOT_ID} = SingleOrBlankString then
{PO_RECEIVE.VENDOR_LOT_ID} else
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
更好的示例数据:
3011111*42011111111
2711 00291111111
711111//12111111111
/J1111 69111111111
170111
如果字符串最多可以包含两个值,用 space
分隔,那么您可以使用 InStr
函数检查字符串是否包含 space
:
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
{PO_RECEIVE.VENDOR_LOT_ID}
Else
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
如果部分之间可以有多个 space,您可以使用以下公式来获取值:
左边部分:
这个函数returns字符串的左边部分直到第一个space。
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
Left({PO_RECEIVE.VENDOR_LOT_ID}, InStr({PO_RECEIVE.VENDOR_LOT_ID}, " "))
右边部分:
这个函数returns最后一个space之后字符串的右边部分。
InStrRev
-函数 returns 最后一个 space 的位置,因为它向后搜索字符串。
Len
-函数returns字符串的长度。
- [长度] - [最后的位置 space] = [右侧部分的长度]
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
Right({PO_RECEIVE.VENDOR_LOT_ID}, Len({PO_RECEIVE.VENDOR_LOT_ID}) - InStrRev(testString, " "))
我有一个超级简单的公式。问题是有时数据没有第二个值,或者有时该值是空白的。
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
ID
111 222
123
123 222
我在想,如果我能想出一些逻辑来弄清楚字符串是否有多个值,它会解决我的问题,但还没找到我要找的东西:
If {PO_RECEIVE.VENDOR_LOT_ID} = SingleOrBlankString then
{PO_RECEIVE.VENDOR_LOT_ID} else
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
更好的示例数据:
3011111*42011111111
2711 00291111111
711111//12111111111
/J1111 69111111111
170111
如果字符串最多可以包含两个值,用 space
分隔,那么您可以使用 InStr
函数检查字符串是否包含 space
:
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
{PO_RECEIVE.VENDOR_LOT_ID}
Else
Split ({PO_RECEIVE.VENDOR_LOT_ID}," ")[2]
如果部分之间可以有多个 space,您可以使用以下公式来获取值:
左边部分:
这个函数returns字符串的左边部分直到第一个space。
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
Left({PO_RECEIVE.VENDOR_LOT_ID}, InStr({PO_RECEIVE.VENDOR_LOT_ID}, " "))
右边部分:
这个函数returns最后一个space之后字符串的右边部分。
InStrRev
-函数 returns 最后一个 space 的位置,因为它向后搜索字符串。Len
-函数returns字符串的长度。- [长度] - [最后的位置 space] = [右侧部分的长度]
If InStr({PO_RECEIVE.VENDOR_LOT_ID}, " ") > 0 Then
Right({PO_RECEIVE.VENDOR_LOT_ID}, Len({PO_RECEIVE.VENDOR_LOT_ID}) - InStrRev(testString, " "))