1

Пожалуйста, кто-нибудь знает:

Date----------------Result--------------------------------------What I want!
9.99 LATE AUG 13 ---IF(ISNUMBER(SEARCH("aug",B2&" "&C2)),"08"---08
9.99 Early Sept 13 ----"""--------------------------------------09

если я использую для всех 12 месяцев, то это дает ошибку:- указанная формула не может быть введена, потому что она использует больше уровней вложенности, чем разрешено

например:

  (B2)------------------(C2)

HK-753F(6) ПОЗДНО 13 АВГУСТА ------- MERC

HK-754F(6) ------------------------ РАННЕЕ СЕНТЯБРЯ 13

11.99 -------------------------------- ПОЗДНО СЕНТЯБРЬ 13

11.99 -------------------------------- ПОЗДНО СЕНТЯБРЬ 13

10.99 13 июня. --------------------- MERC

1 ответ1

5

Попробуйте эту формулу

=MATCH(2^15,SEARCH({"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"},B2&" "&C2))

или немного более короткая, но менее прозрачная версия ....

=MATCH(2^15,SEARCH(TEXT(29*{1,2,3,4,5,6,7,8,9,10,11,12},"mmm"),B2&" "&C2))

объяснение

Когда вы делаете SEARCH для "массива" таких терминов, как {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"}, тогда результат также является массивом, #VALUE! ошибка для каждого термина, который не существует в B2 & "" & C2 и число (позиция), если это так, так что если B2 & "" & C2 = HK-753F (6) в конце августа 13 MERC, то результат

=SEARCH({"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"},B2&" "&C2)

это следующий массив:

{#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,17,#VALUE!,#VALUE!,#VALUE!,#VALUE!}

Обратите внимание, что все записи являются ошибками, за исключением 17 в позиции 8 (17 - это позиция "A" в "AUG" в B2 & "" & C2).

Когда функция MATCH (без третьего аргумента) ищет в этом массиве "bignum", например 2 ^ 15, она всегда совпадает с последним числом, поэтому результат равен 8 (потому что "aug" - 8-й в списке месяцев)

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