问题:我正在处理两个列表,一个叫做HYPHEN,一个叫做CAS编号,分别在A列和B列中。
C列使用一个公式将A列和B列合并,并对它们进行排序,以便如果A列中存在连字符,则在相邻的CAS编号之前插入该连字符,然后插入下面的CAS编号,序列继续,以便包括所有连字符和CAS编号。我已经附上了一张图片来更好地解释这个问题,可以使用以下公式复制这个问题。 CAS号是材料/化学物质的唯一标识,通常写作000-00-0,但有时也会出现0000-00-0(或其他变体)。大部分情况下,列C是正确的,因为除了一个CAS号以外,其余都采用了通常的格式。然而,如红色突出显示的6132-04-3被转换为1545801。我尝试过将单元格格式设置为文本格式,添加逗号等方法,但都无法返回所需值6132-04-3,而总是返回1545801。要复制该问题,请在A列和B列输入任何数据,然后使用以下公式来复制C列的输出:
C列使用一个公式将A列和B列合并,并对它们进行排序,以便如果A列中存在连字符,则在相邻的CAS编号之前插入该连字符,然后插入下面的CAS编号,序列继续,以便包括所有连字符和CAS编号。我已经附上了一张图片来更好地解释这个问题,可以使用以下公式复制这个问题。 CAS号是材料/化学物质的唯一标识,通常写作000-00-0,但有时也会出现0000-00-0(或其他变体)。大部分情况下,列C是正确的,因为除了一个CAS号以外,其余都采用了通常的格式。然而,如红色突出显示的6132-04-3被转换为1545801。我尝试过将单元格格式设置为文本格式,添加逗号等方法,但都无法返回所需值6132-04-3,而总是返回1545801。要复制该问题,请在A列和B列输入任何数据,然后使用以下公式来复制C列的输出:
列C的公式: =FILTERXML(""&SUBSTITUTE(TEXTJOIN(",",TRUE,A2:B26),",","")&"","//b")
(该公式由Stack Overflow上的@Gary's Student提供)
如果在列C中排序时,如何防止红色CAS编号被转换,欢迎提出任何想法。