#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 ''"))