У меня есть лист Excel, где в некоторых столбцах у меня есть ячейки типа integer,integerM или integer,integerH , например 1,30m или 5,2H . Для всех столбцов я хотел бы получить выражение, которое проверяет для каждой ячейки столбца, есть ли H (часы) или m (минуты) во втором целом числе, и в этом случае вычисляет общее количество часов (значение с плавающей запятой) для всех эти вторые целые числа в столбце.

Например, если у нас есть один столбец с четырьмя ячейками:

1,30m
5,2H
3,20m
4,1H

Общая сумма будет:

30m + 2H + 20m + 1H = 0.5 + 2 + 0.33333 + 1 = 3.83333 H

Как это может быть сделано?

2 ответа2

3

Предположим, ваша первая ячейка - A2, и вы можете поместить вычисления в любой из столбцов справа от нее.

  • B2: =MID(A2,SEARCH(",",A2)+1,99) (находит материал после запятой)
  • C2: =VALUE(LEFT(B2,LEN(B2)-1)) (извлекает число перед "h" или "m")
  • D2: =LOWER(RIGHT(B2,1)) (извлекает "h" или "m") (хотя вам не нужно LOWER - см. Комментарий Скотта)
  • E2: =IF(D2="m",C2/60,IF(D2="h",C2,"")) (рассчитывает количество часов)

Тогда вы можете сложить столбец Е.

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

0

Ответ Benshepherd хороший, +1 от меня. Если вы хотели изменить настройку данных, я решил оставить другой ответ, который может кому-нибудь пригодиться.

  • Во-первых, я бы сделал текст для столбцов на вкладке данных , разделенных с помощью ,
  • Затем я бы выровнял ячейки справа по h и m и сделал бы другой текст для столбцов с фиксированной шириной, перетянув нечисловые символы в следующую ячейку.
  • Затем в четвертом столбце я мог бы использовать формулу, например =IF(C1="h",B1,IF(C1="m",B1/60,0)) и суммировать этот столбец

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .