Предположим, что формулировка опыта всегда будет в форме x Year(s) y Month(s)
, а все опыты перечислены в столбце, например ниже:
Предположим, что вы дали имя вышеприведенному списку как List_Exp , вы можете использовать следующую формулу массива , которую необходимо подтвердить, нажав Ctrl + Shift + Введите в строке формул, чтобы найти всего месяцев сначала:
=SUMPRODUCT(--TRIM(MID(SUBSTITUTE(List_Exp," ",REPT(" ",100)),{1,200},100)),IF(ROW($A$1:INDEX($A:$A,ROWS(List_Exp)))>0,{12,1}))
Здесь я использовал функции TRIM + MID + SUBSTITUTE + REPT , чтобы извлечь цифру года и месяца из исходной строки, которая в приведенном выше примере составляет {5,4;4,9;1,2;1,1;10,9}
, затем использовать SUMPRODUCT длярассчитайте общее количество месяцев, найдя соответствующие множители {12,1;12,1;12,1;12,1;12,1}
, используя функции IF + ROW + INDEX .
Затем вы можете преобразовать Всего месяцев в Лет и Месяцев , как показано ниже:
Если вы не хотите использовать вспомогательные ячейки (ячейка D3:D6
) в приведенном выше примере, вы можете присвоить имя цифре Всего месяцев в виде Ttl_Mth и объедините следующие формулы в одну:
Рисунок для лет: =INT(Ttl_Mth/12)
Слово для лет: ="Year"&IF(INT(Ttl_Mth/12)>1,"s","")
Рисунок дляМесяцы: =MOD(Ttl_Mth,12)
Слово для месяцев: ="Month"&IF(MOD(Ttl_Mth,12)>1,"s","")
В сочетании:
=INT(Ttl_Mth/12)&" "&"Year"&IF(INT(Ttl_Mth/12)>1,"s","")&" "&MOD(Ttl_Mth,12)&" "&"Month"&IF(MOD(Ttl_Mth,12)>1,"s","")
Ниже приведен результат теста для новогосписок опытов:
[Подсказка] Рекомендую преобразовать список опытов в Таблица перед тем, как дать имя в списке.Преимущество состоит в том, что каждый раз, когда вы добавляете или заменяете значения в списке (который фактически является таблицей из одного столбца), именованный диапазон будет автоматически обновляться, поэтому вычисления также будут обновляться автоматически.