Есть такая задача: из набора результатов измерений удалить значения, заведомо являющиеся грубыми промахами. Критерии такие: 1) если хотя бы две трети результатов (4 из 6) не удовлетворяют критерию (Xmax - Xmin) / Xmax < 0,1, то выводится сообщение "некорректное измерение". 2) если хотя бы две трети результатов удовлетворяют критерию (Xmax - Xmin) / Xmax < 0,1, то вычисляется среднее арифметическое всех тех значений (четырех, пяти или шести), которые ему удовлетворяют.
Пример: Ячейки А1:А6 содержат значения 90, 92, 93, 95, 101, 103 Формула должна посчитать среднее арифметическое только значений 90, 92, 93, 95.
Максим Зеленский, могли бы Вы сказать, как поменять формулу, если те же самые наклейки расположены на листе не 8 штук по горизонтали и 15 по вертикали, а 6 по горизонтали и 18 по вертикали?
vikttur, мне кажется, вы не совсем правильно поняли, чего мне хотелось бы. Посмотрите, пожалуйста, новый файл. Для наглядности я заполнил Лист1 значениями, а первый и второй столбцы на Листе2 заполнил формулами. Как теперь не вручную заполнить остальные столбцы на Листе2 по этому образцу?
vikttur, а Вы не могли бы на примере показать? Что-то, к сожалению, не работает у меня Ваша формула - видимо, неправильно применяю. Вот пример (в приложении): столбец С заполнен, столбец Н начат. Как по этому образцу заполнить остальные столбцы?
А вот допустим, у меня уже есть один заполненный столбец. Как, грубо говоря, ко всем ссылкам из него прибавить определенное число? Чтобы вместо Е1 получилось Е17, вместо М2 - М18? Ведь это же, наверное, как-то можно сделать при копировании или при редактировании?
Игорь, да, я знаю, хорошая, видимо, программа) Просто у меня уже есть готовый макет для печати, и кажется, что вот еще придумать алгоритм заполнения этого макета ссылками - и все будет готово. Дело в том, что я отсылаю макет в типографию, а в каждую типографию по такой программе не поставишь.
Понадобилось внести изменения в лист, с которого печатали наклейки. Наклеек на листе больше ста, в каждой - по четыре ссылки (см. файл и картинку). Очень не хочется заполнять лист ссылками вручную, тем более, что дизайн опять может поменяться. Можно ли как-то вставить ссылки на лист по такому вот образцу?
Юрий М пишет: Может быть есть смысл писать"предложите" на английском? Ну никак не понимают по-русски...
Юрий М, ответственно заявляю, что выражение "Предложите название темы, отражающее задачу" воспринимается как "Предложите новое название текущей темы", а не "Создайте новую тему с другим названием". То, что на вашем форуме это выражение имеет именно такой смысл, могут догадаться (и практика это подтверждает) только модераторы.
Может быть, есть смысл писать все же по-русски? На русском языке это выражение звучит так: "Создайте новую тему с другим названием, лучше отражающим суть задачи".
Ivan.kh, =РАБДЕНЬ(КОНМЕСЯЦА(ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1));-1);1;выходные) Столбец Е там стоит для того, чтобы легче было найти те дни, которые надо удалить.
Ivan.kh,МатросНаЗебре,Владимир, а этот понедельник будет рабочим? Я пытаюсь сделать так: вносим список дат на год или два вперед в столбец С, удаляем из списка те дни, в которые собираемся работать (рабочие понедельники) все, что осталось, вносим в функцию РАБДЕНЬ() как праздники (т.е. рабочие дни у нас теперь - только непраздничные понедельники), находим следующий рабочий день после последнего дня предыдущего месяца: =РАБДЕНЬ(КОНМЕСЯЦА(ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1));-1);1;выходные)
Необходимо дату ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1)) заменить на первый рабочий понедельник месяца (A1). Удалось найти последний день предыдущего месяца (не знаю, нужно ли это) : =КОНМЕСЯЦА(ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1));-1)
Как узнать, на какое число приходится первый рабочий понедельник?
Максим Зеленский, огромное спасибо! Формулу ТЕКСТ() мне пришлось бы вписывать вручную в огромное количество ячеек, а формат "\До ДД.ММ.ГГГГ" - именно то, что мне надо! Спасибо!
Если ячейка A1 содержит дату в формате "дата", может ли ячейка B1 отображать и некий текст, и эту дату, причем дату - в формате дд.мм.гггг? Если просто написать: B1 ="Текст "&A1&"", и задать формат В1 "общий", то отображается ячейка так: Текст 42156.
Я пытался загрузить два файла, а загрузился только один. Удалось разобраться все-таки: я текст макроса вставлял в окно, озаглавленное "General". Оказалось, что в окне "Worksheet" изменений не произошло. Теперь, когда в обоих окнах тексты макросов совпадают, все заработало. Спасибо за помощь.
да, я так пробовал. В примере, скачанном в http://www.planetaexcel.ru/techniques/6/44/, все работает. А в моем файле - нет. К тому же мой файл и сюда не грузится ("При сохранении файла произошла ошибка.") Просто беда какая-то.
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell in Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("A2:A100" ) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
.Value = Now
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
End With
End If
Next cell
End Sub
подскажите, пожалуйста, как сделать так, чтобы одновременно с вводом даты я в ячейку cell.Offset(0, 1) в ячейку cell.Offset(0, 2) вводился определенный текст? Я совсем VBA не знаю)
Выкладываю файл с решением. Каждую четную строчку нечетных столбцов заливаем цветом 1. Каждая оставшаяся (это обозначено <>11000) строчка нечетных столбцов заливается цветом 2. Каждую четную строчку четных столбцов заливаем одним цветом 3. Каждая оставшаяся строчка четных столбцов заливается цветом 4. То есть по сравнению с примером http://www.planetaexcel.ru/techniques/9/71/ я просто вручную прописал диапазоны для четных и нечетных столбцов и добавил два типа заливки.
В общем, я это сделал так: ввел в столбец O в Листе2 даты с сегодняшнего дня на год вперед, в столбец Р - нужные мне даты, соответствующие каждой ячейке столбца О. Это заняло минут пять, при этом можно задать вручную все требования к рабочим, праздничным дням, отпускам, и прочим личным пожеланиям, что не всегда можно реализовать с помощью формул. Дальше приведенная ниже формула делает следующее: 1) ищет совпадение с нужным нам значением (Лист1!Т4) в диапазоне Лист2!$O$2:$O$1003, затем выдает значение ячейки, стоящей справа от найденного значения (то есть выдает введенную ранее вручную в столбец Р дату). =СМЕЩ(Лист2!$O$2;ПОИСКПОЗ(ЯЧЕЙКА("содержимое";Лист1!T4);Лист2!$O$2:$O$1003;0);1;1;1) Как пользоваться функциями СМЕЩ и ПОИСКПОЗ, я узнал здесь http://www.planetaexcel.ru/techniques/1/38/ (способ 2). Можно еще добавить, что искомое значение Лист1!Т4 задается с помощью макроса http://www.planetaexcel.ru/techniques/6/44/ (Now заменил на Date).
Юрий М, да, конечно, просто по форумам мне не так часто приходилось что-то искать, привычнее для меня выглядит окошко поиска по сайту, а ссылка "поиск" вверху страницы форума остается просто незамеченной.