【问题标题】:Concatenating two columns of text Alphabetically in Excel在Excel中按字母顺序连接两列文本
【发布时间】:2020-04-02 18:16:12
【问题描述】:

我正在处理这个机场数据电子表格。抱歉无法确定标题的格式,但第一列是 Origin IATA,第二列是 Dest IATA,第三列是 Concatenate Route

Origin IATA,       Dest IATA,       Concatenate Route

LHR                JFK              LHR-JFK
JFK                LHR              JFK-LHR
CAN                PEK              CAN-PEK
PEK                CAN              PEK-CAN
JFK                LAX              JFK-LAX
LHR                DXB              LHR-DXB
DXB                LHR              DXB-LHR

图片版本:

现在,我只有 =CONCATENATE(C:C,"-",D:D) 作为公式,但实际上我需要它们按字母顺序连接,这样我就可以将 CAN-PEK 折叠为一条往返路线.

我在这里找到了有类似问题的人:Excel formula to take values from cell range, sort alphabetically and write as a single string

我尝试修改已接受答案的代码,但我不断收到错误,因为我不知道自己在做什么。我还尝试了 VBA 代码,在访问中执行它,以及许多其他 Stackoverflow 解决方案,但我被卡住了。

有谁知道我需要如何编写代码才能让它做我想做的事?

谢谢!

【问题讨论】:

    标签: arrays excel concatenation alphabetical-sort


    【解决方案1】:

    在许多情况下,使用 Excel 可以对文本字符串使用数学不等式。在 C2 中:

    =IF(A2<B2,A2&"-"&B2,B2&"-"&A2)
    

    然后抄下来

    【讨论】:

    • 这是一个很好的答案,帮助我解决了类似的问题。就我而言,我想使用 To 和 From 字段创建一个 Participant 字段,然后我可以将其作为一个组进行排序。谢谢!
    【解决方案2】:

    使用公式时,您需要使用现有公式作为辅助列,然后添加包含排序结果的最后一列。下面的示例将命名范围“concat”分配给连接列,并将命名范围“order”分配给排序顺序列。

    请注意,如果您的数据位于 Excel 结构化表格中,则无需使用已定义的名称。您可以选择表格列,Excel 将插入正确的语法。

    排序顺序列(E列,向下复制)

    =COUNTIF(concat,"<="&E2)
    

    Alpha 排序列(F 列,向下复制)

    =INDEX(concat,MATCH(ROWS($E$2:E2),order,0))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 2015-09-29
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多