Что необходимо изменить в данной формуле, чтобы преобразовать футы и дюймы в метры для десятичных чисел

#excel #excel-formula

#excel #excel-формула

Вопрос:

Данная формула работает, как и ожидалось, для десятичных чисел, т. Е. Если мои входные данные равны 8,3 (8 футов 3 дюйма), то приведенная ниже формула работает, но она не работает для десятичных чисел.Например:Если мои входные данные равны только 4 или даже 4.0, то появляется ошибка ЗНАЧЕНИЯ. Какие изменения следует внести в формулу, чтобы она работала и для десятичных чисел.

 =(LEFT(B5,FIND(".",B5)-1)*12 SUBSTITUTE(MID(B5,FIND(".",B5) 1,LEN(B5)),"""",""))/39.3701
  

Комментарии:

1. Можете ли вы показать нам пример вашего ввода, пожалуйста — это выглядит так, как будто в конце у него есть символ дюйма, например, 8,3″? Также 3 в 8.3 определенно означает 3 » (таким образом, 8.11 будет означать 8 футов и 11 дюймов)?

2. Ваши данные могут быть неоднозначными. If 8.3 = 8 ft 3 in как бы вы отличили 8 ft 1 in от 8 ft 10 in ? Вы всегда вводите данные в виде текстовой строки? Или вы вводите это как число. Если последнее, вам нужно будет ввести 8.03 .

3. @RonRosenfeld об этом не подумал. Вы правы. 8.1 и 8.10 выдает то же значение. Как это можно решить? Также есть ли обходной путь в формуле, который 8.3 работает вместо ввода 8.03 .

4. @Вы могли бы убедиться, что все числа вводятся в виде текстовых строк, а затем выполнить некоторый сложный синтаксический анализ с помощью текстовых функций; или разрешить вводить однозначные дюймы с начальным нулем. Тогда преобразование становится проще.

5. @TomSharpe Да, 8.11 означает (8 футов и 11 дюймов). Дюйм указан в формуле, и формула отлично работает с ним или без него. Основное отличие, которое я только что обнаружил, заключается в том, что если я сохраняю дюйм в конце, то 8.1 и 8.10 дает точные результаты. Если символ дюйма не включен, то 8.1 и 8.10 выдает аналогичные результаты. Без включения символа дюйма во входных данных, как можно получить ответы с помощью формулы?

Ответ №1:

Если вы вводите значения в виде чисел и ставите начальный ноль перед однозначными дюймами (например, 8.03), то формула для преобразования в метры:

 =CONVERT(DOLLARDE(B5,12),"ft","m")
  

Если вы вводите их в виде текстовых строк (и без " знака), вы можете использовать:

 =MAX(IF((LEN(B7) - FIND(".",B7amp;"."))={-1,2}, CONVERT(DOLLARDE(B7,12),"ft","m")),IFERROR(CONVERT(DOLLARDE(INT(B7) amp;".0" amp; MID(B7,FIND(".",B7) 1,1),12),"ft","m"),0))
  

Насколько мне известно, нет метода, который вы можете ввести 8.1 как число и чтобы Excel знал, имеете ли вы в виду 8 ft 1 in или 8 ft 10 in

Ответ №2:

Согласно Рону Розенфельду выше, введите ваши значения как 8.01 и 8.10 соответственно. введите описание изображения здесь