尝试在 MS Excel 中设置换算公式

尝试在 MS Excel 中设置换算公式

我正在制作一个电子表格,它可以帮助我重新格式化数据以包含基于知识产权的某些标准。

在我的 Excel 中,A 列包含一个国家/地区,该国家/地区索引到 L 列和 M 列,L 列还列出国家/地区,M 列列出每个国家/地区的单独格式。请参见以下示例:

从 Excel 中提取

如上图所示,B 列中的数字是“12345678”,而美国的获取格式是 11/111,111(1 是占位符),我使用的公式没有在公式中应该输入的特殊字符。

我正在寻找的第一列中的值是“12 / 3345,678”,而不是“12 / 456,8”。

请参阅下面我使用的公式:

=IF(E2<>"", LEFT(B2, FIND("/", E2) - 1) & "/" & MID(B2, FIND("/", E2) + 1, FIND(",", E2) - FIND("/", E2) - 1) & "," & MID(B2, FIND(",", E2) + 1, LEN(B2) - FIND(",", E2)), "")

任何帮助都将不胜感激。

PS. 对于美国以外的其他国家/地区,它可能包含字母和除“/”和“,”之外的更多符号。任何非数字的内容或多或少都可能是其中的一部分,包括空格。

答案1

将您的模式转换为TEXT函数可用的格式字符串:

=TEXT(B2,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2,"1","0"),",","\,"),"/","\/"))

不确定你想要什么10 旧号码。如果您想显示错误,您需要定义什么是有效的,什么是无效的。

在此处输入图片描述

如果您的 中可能有其他字符Format,但1将始终代表数字,而其他任何字符都将表示为其本身,并且如果您有一个365版本,则可以使用以下命令:

=TEXT(
    B2,
    TEXTJOIN(
        "",
        TRUE,
        BYROW(
            MID(C2, SEQUENCE(LEN(C2)), 1),
            LAMBDA(a, SUBSTITUTE(a, a, IF(a = "1", "0", "\" & a)))
        )
    )
)

它用 a 代替0any 1,并用文字字符代替其他任何字符。

相关内容