Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在Excel中按字母顺序连接两列文本_Arrays_Excel_Concatenation_Alphabetical Sort - Fatal编程技术网

Arrays 在Excel中按字母顺序连接两列文本

Arrays 在Excel中按字母顺序连接两列文本,arrays,excel,concatenation,alphabetical-sort,Arrays,Excel,Concatenation,Alphabetical Sort,我正在处理这个机场数据电子表格。很抱歉,我不知道如何设置标题的格式,但第一列是Origin IATA,第二列是Dest IATA,第三列是if Concatenate Route Origin IATA, Dest IATA, Concatenate Route LHR JFK LHR-JFK JFK LHR JFK-LHR CAN

我正在处理这个机场数据电子表格。很抱歉,我不知道如何设置标题的格式,但第一列是Origin IATA,第二列是Dest IATA,第三列是if 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折叠为一条往返路线

我在这里发现有人有类似的问题:

我试图修改被接受答案的代码,但我不断地出错,因为我不知道我在做什么。我还尝试了VBA代码,在access和许多其他Stackoverflow解决方案中使用,但我被卡住了

有人知道我需要如何编写代码才能让它实现我想要的功能吗


谢谢大家!

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

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

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

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

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


这是一个很好的答案,并帮助我解决了一个类似的问题。在我的例子中,我想创建一个参与者字段,使用“收件人”和“发件人”字段,然后我可以将其作为一个组进行排序。谢谢!
=COUNTIF(concat,"<="&E2)
=INDEX(concat,MATCH(ROWS($E$2:E2),order,0))