google-sheets-formula - 谷歌表格中的印度短货币格式
问题描述
在谷歌表格中,我试图以印度“短”格式显示数字,带有十万和千万后缀,如下所示:
- 单元格值:1234,显示为 1.23 K
- 单元格值:12345,显示为 12.35 K
- 单元格值:123456,显示为 1.23 L [L=10k]
- 单元格值:1234567,显示为 12.35 L
- 单元格值:12345678,显示为 1.23 C [C=Crore]
- 单元格值:123456789 ,显示为 12.35 C。
我试图修改这种自定义数字格式:
[<999950]0.0,"K";[<999950000]0.0,,"M";0.0,,,"B"
by Brook McEachern,但无法达到我要求的格式。
有谁知道这样做的方法?
解决方案
B2中的印度分离器系统:
=ARRAYFORMULA(REGEXREPLACE(REGEXREPLACE(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(QUERY(
REGEXEXTRACT(REGEXREPLACE(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(QUERY(IFERROR(
REGEXEXTRACT(A2:A, REPT("(.)", IF(LEN(A2:A)=3, LEN(A2:A)-4, LEN(A2:A)-3))), "0"),
"select "&JOIN(",", "Col"&SORT(SEQUENCE(MAX(LEN(A2:A)-3)), 1, )))),,9^9)), " ", ),
"(.{2})", "$1,"), REPT("(.)", IF((LEN(A2:A)-3)+ROUNDDOWN((LEN(A2:A)-3)/2)<1, 1,
(LEN(A2:A)-3)+ROUNDDOWN((LEN(A2:A)-3)/2)))),
"select "&JOIN(",", "Col"&SORT(SEQUENCE(MAX((LEN(A2:A)-3)+
ROUNDDOWN((LEN(A2:A)-3)/2))), 1, )))),,9^9)), " ", ), "^,", )&","&IFNA(
REGEXEXTRACT(A2:A, "...$"), IF(A2:A="",,TEXT(A2:A, "000"))), "^0,$", ))
C2中的印度空头货币:
=ARRAYFORMULA(IFNA(ROUND(A2:A*VLOOKUP(LEN(A2:A), {SEQUENCE(19),
{1; 1; 1; 1; 1; 10^-5; 10^-5; 10^-7; 10^-7; 10^-9; 10^-9;
10^-11; 10^-11; 10^-13; 10^-13; 10^-15; 10^-15; 10^-17; 10^-17}}, 2, 1), 2)&" "&
VLOOKUP(LEN(A2:A), {SEQUENCE(19),
{"Rp"; "Rp"; "Rp"; "Rp"; "Rp"; "L"; "L"; "Cr"; "Cr"; "Arab"; "Arab";
"Kharab"; "Kharab"; "Nil"; "Nil"; "Padma"; "Padma"; "Shankh"; "Shankh"}}, 2, 1)))
- 旁注:
ROUND
设置为 2 位小数。这可以设置为 0,或者ROUND
可以完全删除,或者TRUNC
如果需要可以替换为
电子表格演示
推荐阅读
- c - 为什么我得到的是问号而不是 HTML 内容?
- angular - 使用自定义组件更改 formControl 的值
- html - 带有三角形/圆形末端的 Svg 矩形,用于进度条
- ruby-on-rails - 在 Ruby on Rails 5 上并行每个循环
- javascript - 异步函数返回值,显示在控制台上,但在其他地方未定义
- tls1.0 - 如何在 LBL ADC 中的单个虚拟主机上禁用 TLS 1.0(无 GUI 版本)
- android - 如何在 Android 中创建 Neumorphism 样式按钮
- dataframe - 统计ID出现的总次数
- python - 使用 Python beautifulSoup 抓取特定的 dd 项目
- azure-devops - 如何使用 Azure DevOps REST Api 从我的 powershell 控制台将文件上传到 Azure Artifacts?