regex - 您可以用逗号替换第一个特殊字符,并从单元格中删除其他特殊字符吗?
问题描述
我试图通过复制粘贴我需要的数据然后引用工作表上另一个位置的单元格来使工作表更易于使用。粘贴时,数据在整数和小数之间使用点而不是逗号。这会导致工作表以一种奇怪的方式更改数据值。例如,98.04
被替换为98:04:00.000
,并且20.39
被替换为20.39.00
。我知道发生这种情况是因为工作表希望有一个十进制逗号,但我不明白它是如何工作的,或者为什么上述两个中的一个在数字之间有冒号,而另一个保留它的点。
无论如何,我希望我的单元格中引用复制粘贴值的值是实数,带有小数点逗号。我的想法是将所有点和冒号更改为逗号,然后删除第一个逗号之后的任何逗号,或者删除第一个之后的任何点或冒号,然后将剩余的一个逗号更改为逗号。但是,我不知道如何做到这一点,这就是我问你们的原因。
编辑:链接到我的工作表的副本:https ://docs.google.com/spreadsheets/d/17-qHsr3Pky2_5aSRb7l4K5uB9JKStAxIK8qwgfd1vxE/edit?usp=sharing
解决方案
但我不明白它是如何工作的,或者为什么上述两个中的一个在数字之间有冒号,而另一个保留它的点
有两个版本的语法 US 使用逗号,
和 EU 使用分号;
。它总是可以在这里选择:
=(REGEXEXTRACT(A1&""; "\d+")&","®EXEXTRACT(A1&""; ":(\d+)"))*1
和 ArrayFormula 将是:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A&""; "\d+")&","&
REGEXEXTRACT(SUBSTITUTE(A1:A&""; "."; ":"); ":(\d+)")*1))
更新:
=ARRAYFORMULA((REGEXEXTRACT(TO_TEXT(D64:D71); "\d+")&","&
REGEXEXTRACT(TO_TEXT(SUBSTITUTE(D64:D71; "."; ":")); ":(\d+)"))*1)
电子表格演示
推荐阅读
- java - 尝试访问枚举中名为“name”的字段时,Kotlin 解析不明确
- typescript - 无法在我的电脑中使用 VSCode 中的任何 TypeScript 功能
- laravel - Laravel Nova:默认从 BelongsTo 字段中选择选项
- c - 嵌入 python/cython numpy 数组:将 numpy 数组传递给 c 指针
- nginx - 通过 Symphony Process Component 使用 unoconv 将文档转换为 pdf
- java - Facebook4J 发布消息
- javascript - TinyMCE 在插入内容后自动复制代码
- mysql - 在 MySQL 中加入三个表并获得每个 id 一行(第一个表中每个实体一行)
- ionic-framework - 在 ionic 3 中使用 File Opener 没有任何结果
- php - FPDI: $pdf->Image($img, ..... 没有图片