在 Google 表格中,我们如何获取小数英尺值并将其转换为格式正确的小数英尺和英寸?

问题描述

找遍了所有 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"

更新:

你可以有一个表格来搜索上标

enter image description here

得到上标的想法:用上面的输出(3'-8 1/4"):就是提取分数(1/4),在表中搜索等效的上标(¹/⁴),然后替换它( 3'-8 ¹/⁴"):

所以基本上我们需要:

  • 正则表达式提取
  • VLOOKUP
  • 正则表达式替换

电子表格演示HERE

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

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...