连接列同时避免空白和重复
Concatenate columns while avoiding blanks and duplicates
尝试将范围 E4:I
合并为 J4:J
,数组公式为:
=ArrayFormula( regexreplace( regexreplace( transpose( trim( query( transpose( regexreplace( trim( E4:I ) , " " , "~" ) ) ,, 9^99 ) ) ) , " " , ", " ) , "~" , " " ) )
这个公式很好用,但我想排除每行中的重复项。
这里是link到sheet。 Link
您可以从类似的 post:
尝试这个修改后的公式
=INDEX(
REGEXREPLACE(SORT(
SPLIT(
TRANSPOSE(QUERY(
QUERY(
UNIQUE(
SPLIT(
FLATTEN(
ROW(E2:I11) & "♦♥" & E2:I11
), "♥"
) & ", "
),
"SELECT MAX(Col2)
WHERE Col2 IS NOT NULL
GROUP BY Col2
PIVOT Col1",
),,99
)),"♦"
), 1, TRUE),
"^(?:,\s*)+|(?:,\s*)+$|(,\s)\s*(?:,\s*)*",
""
),,2)
输出:
注:
- 输出按字母顺序自动排序
- 您可以将
E2:I11
更改为 E2:I
,但这比限制您的范围要慢。如果您有一列可以识别直到填充哪一行,请添加一个 IF
语句并将您的公式限制为仅处理这些行。
参考:
尝试将范围 E4:I
合并为 J4:J
,数组公式为:
=ArrayFormula( regexreplace( regexreplace( transpose( trim( query( transpose( regexreplace( trim( E4:I ) , " " , "~" ) ) ,, 9^99 ) ) ) , " " , ", " ) , "~" , " " ) )
这个公式很好用,但我想排除每行中的重复项。
这里是link到sheet。 Link
您可以从类似的 post:
尝试这个修改后的公式=INDEX(
REGEXREPLACE(SORT(
SPLIT(
TRANSPOSE(QUERY(
QUERY(
UNIQUE(
SPLIT(
FLATTEN(
ROW(E2:I11) & "♦♥" & E2:I11
), "♥"
) & ", "
),
"SELECT MAX(Col2)
WHERE Col2 IS NOT NULL
GROUP BY Col2
PIVOT Col1",
),,99
)),"♦"
), 1, TRUE),
"^(?:,\s*)+|(?:,\s*)+$|(,\s)\s*(?:,\s*)*",
""
),,2)
输出:
注:
- 输出按字母顺序自动排序
- 您可以将
E2:I11
更改为E2:I
,但这比限制您的范围要慢。如果您有一列可以识别直到填充哪一行,请添加一个IF
语句并将您的公式限制为仅处理这些行。