使用 CSE 或数组公式进行子字符串操作

问题描述 投票:0回答:2

是否有一个 CSE 数组公式可以给我这个输出?

输入字符串 - “苹果”水果=Y,“芒果”水果=Y,“茄子”水果=N,“胡萝卜”水果=N,“椰子”水果=Y

输出字符串 - 苹果、芒果、椰子

基本上,我想要用引号括起来的字符串,其中 Fruit = Y

excel string array-formulas
2个回答
0
投票

假设您整理输入字符串以使其更加一致,例如始终包含“=Y”而不是“=Y”和“=Y”的混合,并且到处用“,”分隔而不是有时用“ ”:

=LET(
    ζ,TEXTSPLIT(A1," Fruit=",", "),
    TEXTJOIN(", ",,SUBSTITUTE(FILTER(TAKE(ζ,,1),TAKE(ζ,,-1)="Y"),"""",""))
)

0
投票

使用 VBA 过程或函数可以轻松完成:

Sub test()
  Dim S As String
  Dim result As String
  
  S = Range("A1").Value
  
  For Each s1 In Split(S, ",")
    If s1 Like "*Fruit=Y" Then
      result = result + " " + s1
    End If
  Next s1
  
  Range("B1").Value = result
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.