1

一直在寻找,就谷歌表格公式而言,什么都没有出现。

假设我们的值为3.6875 feet。我们可以使用数字格式# ??/??,但它会给我们一个以英尺为单位的小数值(在本例中为3 11/16 英尺)。

我们如何“抓住” 11/16 并将其乘以 12 以获得英寸值 (8.25),然后是真正棘手的部分,我们如何将整个墨西哥卷饼显示为3'8¹/⁴" (是的,包括上标)?

4

1 回答 1

1

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 ¹/⁴"):

所以基本上我们需要:

  • 正则表达式
  • 查找
  • 正则表达式替换

电子表格演示这里

 =arrayformula(
  if(len(A2:A),INT(A2:A)&"'-             
     "&REGEXREPLACE(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)),""))

在此处输入图像描述

于 2021-03-24T18:28:51.137 回答