在没有正则表达式的情况下删除数据中的前缀和后缀
Remove prefix and suffix in data without regex
目标:如果单元格 A1 以“BR”开头,请将“BR”替换为“-”。删除“L”后缀。
如果输入不是以“BR”开头,请删除“L”后缀。
约束条件:
公式只能使用以下函数(无 Regex):
- 如果
- 对
- 左
- 中期
- 或
- 和
- 长度
可能的输入值patterns/examples:
- BR3L
- BR40L
- BR500L
- BR600L
- 0L
- 5L
- 60L
- 700L
- 8000L
到目前为止我发现了什么:
将 BR 前缀值转换为负数的公式:
if(left(a1,2)="BR","-"&right(a1,len(a1)-2),a1)
去除“L”后缀的公式:
if(right(a1,1)="L",left(a1,len(a1)-1),a1)
尝试:
=INDEX(IF(A1:A="",,SUBSTITUTE(SUBSTITUTE(A1:A, "BR", "-"), "L", )*1))
矫枉过正,但也有效:
=ARRAYFORMULA(IF(LEFT(A1:A, 2)="BR", "-"&RIGHT(
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A), LEN(
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A))-2),
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A)))
目标:如果单元格 A1 以“BR”开头,请将“BR”替换为“-”。删除“L”后缀。 如果输入不是以“BR”开头,请删除“L”后缀。
约束条件: 公式只能使用以下函数(无 Regex):
- 如果
- 对
- 左
- 中期
- 或
- 和
- 长度
可能的输入值patterns/examples:
- BR3L
- BR40L
- BR500L
- BR600L
- 0L
- 5L
- 60L
- 700L
- 8000L
到目前为止我发现了什么:
将 BR 前缀值转换为负数的公式:
if(left(a1,2)="BR","-"&right(a1,len(a1)-2),a1)
去除“L”后缀的公式:
if(right(a1,1)="L",left(a1,len(a1)-1),a1)
尝试:
=INDEX(IF(A1:A="",,SUBSTITUTE(SUBSTITUTE(A1:A, "BR", "-"), "L", )*1))
矫枉过正,但也有效:
=ARRAYFORMULA(IF(LEFT(A1:A, 2)="BR", "-"&RIGHT(
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A), LEN(
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A))-2),
IF(RIGHT(A1:A, 1)="L", LEFT(A1:A, LEN(A1:A)-1), A1:A)))