Не знаю как начать данную тему но начну с почесывания затылка в милионный раз )) Суть проблемки встала в том что есть ряд чисел допустим от 0 до 1000. В итоге под нужными ячейками чисел должны выскочить определенные записи в ячейках зависящие от числе установленного выше. То есть допустим есть число 250, под ним должна быть надпись ТО1, под числом 500 должна быть надпись ТО2, под числом 750 ТО1, 1000-ТО3. Критерий таков чтоб когда в строчке цифр попадалась цифра в диапазоне от 240 до 260 то под данной ячейкой выскакивала надписаль ТО1 ну и далее в ряде цифр под каждым своя соответствующая надпись. В ячейках которых нет совпадений с указанными диапазонами оставалась пустая ячейка. По сути это будет план-график технического обслуживания оборудования на месяц. Пробовал уже много логических формул и разных сочетаний формул, но действительно толкового результата не удалось добиться(((. Даже не знаю как подобраться к нему.
Не знаю как начать данную тему но начну с почесывания затылка в милионный раз )) Суть проблемки встала в том что есть ряд чисел допустим от 0 до 1000. В итоге под нужными ячейками чисел должны выскочить определенные записи в ячейках зависящие от числе установленного выше. То есть допустим есть число 250, под ним должна быть надпись ТО1, под числом 500 должна быть надпись ТО2, под числом 750 ТО1, 1000-ТО3. Критерий таков чтоб когда в строчке цифр попадалась цифра в диапазоне от 240 до 260 то под данной ячейкой выскакивала надписаль ТО1 ну и далее в ряде цифр под каждым своя соответствующая надпись. В ячейках которых нет совпадений с указанными диапазонами оставалась пустая ячейка. По сути это будет план-график технического обслуживания оборудования на месяц. Пробовал уже много логических формул и разных сочетаний формул, но действительно толкового результата не удалось добиться(((. Даже не знаю как подобраться к нему.Joker871
Список для ТО можно дополнять (выделено сереньким). Тоже с исходным заполнением не совпадает. Или мы с Леной что-то недоперепоняли, или Вы не совсем верно заполнили свою таблицу.
Список для ТО можно дополнять (выделено сереньким). Тоже с исходным заполнением не совпадает. Или мы с Леной что-то недоперепоняли, или Вы не совсем верно заполнили свою таблицу._Boroda_
Да да.. прошу прощения, сам не верно заполнил исходник... Каюсь... По формуле Pelena получается что если начало значений начинается например с 800 то под ним выскакивает ТО. Но эту формулу я хоть понять и разобрать могу, а вот формулу _Boroda_ уже мне тяжело понять, хех.. не мой уровень... Но главное что она работает, буду пробовать внедрять. Огромное спасибо. Буду пробовать.
Да да.. прошу прощения, сам не верно заполнил исходник... Каюсь... По формуле Pelena получается что если начало значений начинается например с 800 то под ним выскакивает ТО. Но эту формулу я хоть понять и разобрать могу, а вот формулу _Boroda_ уже мне тяжело понять, хех.. не мой уровень... Но главное что она работает, буду пробовать внедрять. Огромное спасибо. Буду пробовать.Joker871
1. $H20:$J24 - это массив ячеек, в которые мы можем заводить цифры для ТО. 5х3=15 ячеек.
2. ABS(A3-$H20:$J24) - из А3 вычитаем п.1 и берем разницу по модулю (если в какой-то ячейке из п.1 пусто, то это "пусто" интерпретируется Excelем как ноль). Получаем массив из 15-и разниц, взятых по модулю.
3. (ABS(A3-$H20:$J24)<=10) - сравниваем п.2 с числом 10. Если меньше/равно, то ИСТИНА, иначе - ЛОЖЬ. Получаем массив из 15-и ИСТИНА и ЛОЖЬ.
4. СТОЛБЕЦ($A1:$C1) - дает нам массив из номеров столбца диапазона $A1:$C1 - то есть, {1;2;3}.
5. (ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1) - умножаем п.3 на п.4. ИСТИНА, умноженное на число, дает это число, ЛОЖЬ, умноженное на число, дает ноль. Следовательно, мы получим массив из нулей и, может быть (если в п.3 есть ИСТИНА), одного из чисел из п.4.
6. 1+СУММПРОИЗВ((ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1)) - суммируем элементы, полученные в п.5. Получаем или 0, или какое-то число из п.4. И прибавляем к нему единицу. Т.о., у нас может получиться число от 1 до 4.
7. ИНДЕКС($G19:$J19;1+СУММПРОИЗВ((ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1))) - из массива, в котором первое значение пусто, а остальные 3 - названия ТО, выбираем то значение по порядку, какое число у нас получилось в п.6.
8. п.7&"" - если в п.6 у нас единица (то есть, ТО делать не нужно), то ИНДЕКС ил п.7 вместо пустого значения выдаст нам 0 (такова особенность Excel - ="" (равно пусто) будет ноль). А вот чтобы это ="" преобразовать обратно в "пусто", мы "приклеиваем" к нему справа еще одно значение "пусто". На текстовые значения ТО это не повлияет, а нолики уберутся. Можно было убрать нули форматом ячейки или условным форматированием, но я не стал Вас еще больше путать.
1. $H20:$J24 - это массив ячеек, в которые мы можем заводить цифры для ТО. 5х3=15 ячеек.
2. ABS(A3-$H20:$J24) - из А3 вычитаем п.1 и берем разницу по модулю (если в какой-то ячейке из п.1 пусто, то это "пусто" интерпретируется Excelем как ноль). Получаем массив из 15-и разниц, взятых по модулю.
3. (ABS(A3-$H20:$J24)<=10) - сравниваем п.2 с числом 10. Если меньше/равно, то ИСТИНА, иначе - ЛОЖЬ. Получаем массив из 15-и ИСТИНА и ЛОЖЬ.
4. СТОЛБЕЦ($A1:$C1) - дает нам массив из номеров столбца диапазона $A1:$C1 - то есть, {1;2;3}.
5. (ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1) - умножаем п.3 на п.4. ИСТИНА, умноженное на число, дает это число, ЛОЖЬ, умноженное на число, дает ноль. Следовательно, мы получим массив из нулей и, может быть (если в п.3 есть ИСТИНА), одного из чисел из п.4.
6. 1+СУММПРОИЗВ((ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1)) - суммируем элементы, полученные в п.5. Получаем или 0, или какое-то число из п.4. И прибавляем к нему единицу. Т.о., у нас может получиться число от 1 до 4.
7. ИНДЕКС($G19:$J19;1+СУММПРОИЗВ((ABS(A3-$H20:$J24)<=10)*СТОЛБЕЦ($A1:$C1))) - из массива, в котором первое значение пусто, а остальные 3 - названия ТО, выбираем то значение по порядку, какое число у нас получилось в п.6.
8. п.7&"" - если в п.6 у нас единица (то есть, ТО делать не нужно), то ИНДЕКС ил п.7 вместо пустого значения выдаст нам 0 (такова особенность Excel - ="" (равно пусто) будет ноль). А вот чтобы это ="" преобразовать обратно в "пусто", мы "приклеиваем" к нему справа еще одно значение "пусто". На текстовые значения ТО это не повлияет, а нолики уберутся. Можно было убрать нули форматом ячейки или условным форматированием, но я не стал Вас еще больше путать._Boroda_