Как рассчитать размеры по текстовой строке в одной ячейке?

#google-sheets #google-sheets-formula

Вопрос:

Мне нужно рассчитать размеры по значениям ячеек, которые вводятся в виде строк в одну ячейку по сравнению с 3 отдельными ячейками, и я не хочу разбивать размеры на столбцы длины (L) x ширины (W) x высоты (H).. вместо этого я надеюсь, что существует относительно простая функция, которая позволит мне вычислить общие кубические размеры из этой единственной ячейки.

Я знаю об этом уроке, который может взять строку и разбить ее на 3 отдельные ячейки.. но это противоречит сути того, что я пытаюсь сделать.

Мои данные выглядят так:

Размеры Детеныш/В. ср
70x13x13 11830 6.85
24*18*13 5616 3.25
24x16x12
16x24x10

Прямо сейчас данные вводятся как «ДхШхВ» или «Д*Ш*Ч» в этом текстовом форманте, и столбцы, имеющие значения, подобные приведенным выше 5616, я вручную повторно ввожу «=24*18*13″… буквально одно различие в характерах.

Я попытался ОБЪЕДИНИТЬ, чтобы просто добавить «=» в начало, но получил ошибки во всех таблицах Google (для сравнения) или литеральную строку, обработанную в виде формулы в Excel. =CONCATENATE(“=”,B1)

введите описание изображения здесь

Ищете простой способ выполнить этот расчет в одном столбце и иметь возможность вводить данные один раз или использовать существующие данные. Я не возражаю против однократной массовой замены «x» на «*» во входном столбце, чтобы стандартизировать исходный столбец, но не хочу выполнять серию массовых замен каждый раз, когда я хочу просмотреть данные.

Мысли?

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

1. В Excel также есть этот трюк superuser.com/questions/253353/… — в вашем случае потребуется заменить * на x. Включил его только для интереса — недостатком является то, что лист затем нужно сохранить, как если бы он содержал макросы.

Ответ №1:

Используйте ЗАМЕНИТЕЛЬ, чтобы сделать их все одинаковыми, затем разделите и заверните в ПРОДУКТ:

 =PRODUCT(SPLIT(SUBSTITUTE(A2,"*","x"),"x"))
 

введите описание изображения здесь

Или более короткая версия, показанная @JvdV:

 =PRODUCT(SPLIT(A2,"*x"))
 

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

1. Потрясающе. Это оказалось намного проще, чем я делал это или предлагал другой учебник. Спасибо

2. =PRODUCT(SPLIT(A2,"*x")) должно получиться просто отлично?

3. Вы правы @JvdV Я не так разбираюсь в Google Таблицах и не знал этого.

4. Для меня это тоже требует проб и ошибок. Слишком долго я не знал об этом специфическом поведении. Я также трачу некоторое время, пытаясь добиться этого результата. Я пришел к длинному запыхавшемуся =INDEX(QUERY(Split(A2:A,"*x"),"Select Col1*Col2*Col3 where Col1 is not null label Col1*Col2*Col3 ''"))