问题描述
找遍了所有 Google 表格公式都没有找到。
假设我们的值为 3.6875 英尺。我们可以使用数字格式 # ??/??,但它会给我们一个以英尺为单位的小数值(在这种情况下,3 11/16 英尺)。
我们如何“抓取”11/16 并将其乘以 12 以获得英寸值 (8.25),然后是真正棘手的部分,我们如何将整个辣酱玉米饼馅显示为 3'8¹/⁴ "(是的,包括上标)?
解决方法
A1= 3.6875
B1=INT(A1)&"'-"&TRIM(TEXT(ROUND(MOD(A1,1)*12*16,0)/16,"# ??/??")&"""")
输出:3'-8 1/4"
更新:
你可以有一个表格来搜索上标
得到上标的想法:用上面的输出(3'-8 1/4"
):就是提取分数(1/4),在表中搜索等效的上标(¹/⁴),然后替换它( 3'-8 ¹/⁴"
):
所以基本上我们需要:
- 正则表达式提取
- VLOOKUP
- 正则表达式替换
电子表格演示:HERE
=arrayformula(
if(len(A2:A),INT(A2:A)&"'-
"®EXREPLACE(TRIM(TEXT(ROUND(MOD(A2:A,"#??/??")&""""),"\d{1}\/\d+",VLOOKUP(IFNA(
REGEXEXTRACT(TRIM(TEXT(ROUND(MOD(A2:A,"# ??/??")&""""),"\d{1}\/\d+"),"0/0"),TABLE!A:B,2,0)),""))