在 Google 表格中,我们如何获取小数英尺值并将其转换为格式正确的分数英尺和英寸?
In Google Sheets, how do we take a decimal feet value and turn it into properly formatted fractional Feet & Inches?
四处寻找,没有找到 Google Sheets 公式。
假设我们的值为 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 "
更新:
你可以有一个table来搜索上标
获取上标的思路:如上输出(3'-8 1/4"
):提取分数(1/4),在table中搜索等价的上标(¹/⁴ ), 然后替换它 (3'-8 ¹/⁴"
):
所以基本上我们需要:
- 正则表达式
- VLOOKUP
- REGEXREPLACE
电子表格演示:HERE
=arrayformula(
if(len(A2:A),INT(A2:A)&"'-
"®EXREPLACE(TRIM(TEXT(ROUND(MOD(A2:A,1)*12*16,0)/16,"#??/??")&""""),
"\d{1}\/\d+",
VLOOKUP(IFNA(
REGEXEXTRACT(TRIM(TEXT(ROUND(MOD(A2:A,1)*12*16,0)/16,"# ??/??")&""""),
"\d{1}\/\d+"),
"0/0"),
TABLE!A:B,2,0)),""))
四处寻找,没有找到 Google Sheets 公式。
假设我们的值为 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 "
更新:
你可以有一个table来搜索上标
获取上标的思路:如上输出(3'-8 1/4"
):提取分数(1/4),在table中搜索等价的上标(¹/⁴ ), 然后替换它 (3'-8 ¹/⁴"
):
所以基本上我们需要:
- 正则表达式
- VLOOKUP
- REGEXREPLACE
电子表格演示:HERE
=arrayformula(
if(len(A2:A),INT(A2:A)&"'-
"®EXREPLACE(TRIM(TEXT(ROUND(MOD(A2:A,1)*12*16,0)/16,"#??/??")&""""),
"\d{1}\/\d+",
VLOOKUP(IFNA(
REGEXEXTRACT(TRIM(TEXT(ROUND(MOD(A2:A,1)*12*16,0)/16,"# ??/??")&""""),
"\d{1}\/\d+"),
"0/0"),
TABLE!A:B,2,0)),""))