连接列同时避免空白和重复

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 语句并将您的公式限制为仅处理这些行。

参考: