我正在制作一个电子表格,它可以帮助我重新格式化数据以包含基于知识产权的某些标准。
在我的 Excel 中,A 列包含一个国家/地区,该国家/地区索引到 L 列和 M 列,L 列还列出国家/地区,M 列列出每个国家/地区的单独格式。请参见以下示例:
如上图所示,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 代替0
any 1
,并用文字字符代替其他任何字符。