powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / need help2
25 сообщений из 37, страница 1 из 2
need help2
    #37716152
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста!
Можно ли решить без VBA (если возможно) следующую задачу:
Есть 2 столбца с данными (A и B).
В ячейке M2 задается числовой параметр.

В столбец D нужно прописать полученные результаты.
Объясню на примере, что нужно сделать.
Пример для ячейки D19:
В А1:A19 ищется максимальное значение.
В B1:B19 ищется минимальное значение.
Расчитывается и запоминается среднее значение между найденными максимальным и минимальным значением.
Потом для A2:A19 ищется максимальное значение и минимальное в B2:B19 и считается средннее между ними.
И так дальше до 19 строки, где находится СРЗНАЧ(МАКС(A19:A19);МИН(B19:B19)).
В ячейку D19 ставится номер строки где находится последнее среднее, которое больше чем M1, в нашем случае это 19-ая строка.
Соответственно для D18 считаются все данные с 1 по 18 строку, найденное значение будет 17.
...
Рейтинг: 0 / 0
need help2
    #37716949
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Налицо классический случай рекурсии.
Реализовать такое без VBA на листе Excel в принципе можно:
Параметры->Формулы->Включить итеративные вычисления.

Раскуривать эту тему предлагаю вам самостоятельно, но имхо VBA освоить - больше профита
...
Рейтинг: 0 / 0
need help2
    #37716975
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я так и не понял, откуда взялось 17?
19 средних значений получить можно легко (18 раз по 5,5 и одно - 10,5)
даже понятно что такое 19 - нет ни одного среднего, которое меньше М1
А что такое 17?
...
Рейтинг: 0 / 0
need help2
    #37717008
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как понял, с доп. столбцами
...
Рейтинг: 0 / 0
need help2
    #37717089
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007,

Неправильные результаты получаются :-(
В D17 должно быть 17, в D16 должно быть 16.
Посмотрите пожалуйста, может надо что-то подправить...
...
Рейтинг: 0 / 0
need help2
    #37717149
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindВ D17 должно быть 17, в D16 должно быть 16.
Почему?
Объясните нормальным языком
...
Рейтинг: 0 / 0
need help2
    #37717158
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindВ D17 должно быть 17, в D16 должно быть 16.
Почему?
Объясните нормальным языком

Потому что для D17 последнее среднее равно 8, что больше чем М1 равное двум .
Мы же для D17 перебираем
СРЗНАЧ(МАКС(A1:A17);МИН(B1:B17)) = 4.5
СРЗНАЧ(МАКС(A2:A17);МИН(B2:B17)) = 4.5
...
СРЗНАЧ(МАКС(A17:A17);МИН(B17:B17)) = 8

Последнее значение =8 (и оно находится в 17-ой строке), что больше M1, значит в D17 ставим 17

Так понятнее?
...
Рейтинг: 0 / 0
need help2
    #37717232
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindТак понятнее?
Нет, так ещё больше запутали.
Давайте рисуйте пример по правилу "Есть так" - "Надо так". Что должно получится - заполните вручную. Просто проставьте итоговые цифры.
...
Рейтинг: 0 / 0
need help2
    #37717306
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока рисуете, попробую ещё одну догадку (см. вложение)
...
Рейтинг: 0 / 0
need help2
    #37717361
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindТак понятнее?
Нет, так ещё больше запутали.
Давайте рисуйте пример по правилу "Есть так" - "Надо так". Что должно получится - заполните вручную. Просто проставьте итоговые цифры.

Ну что не понятного-то? Все разжевано.
Выкладываю файл со значениями для всего столбца D. В первой строке 0 потому что нет нужной строки со средним меньшим M1, т.к. получается 2, а оно не больше M1 равного 2.
Обратите внимание, что D8=7, т.к. СРЗНАЧ(МАКС(A8:A8);МИН(B8:B8)) равно 1,5, а это меньше чем M1,
а СРЗНАЧ(МАКС(A7:A8);МИН(B7:B8)) = 3, это больше чем M2, поэтому и пишем в D8 значение 7 (строка 7 удовлетворяет решение задачи).
Если непонятно, прочитайте условие задачи еще раз и посмотрите какие значения в столбце D получаются, должны понять.

В столбце G я пытался составить цикл, но что-то не получается, хотя смысл должен быть примерно такой. Видимо неправильно я записал данные для МАКС и МИН, не получается цикл запустить...
...
Рейтинг: 0 / 0
need help2
    #37717368
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007Пока рисуете, попробую ещё одну догадку (см. вложение)

опять неправильные результаты получаются, но думаю с моим последним фалом понятнее станет, что я хочу.
И желательно промежуточные результаты такие большие не делать под данным, т.к. я привел небольшой пример, а реально там тысячи строк....
Для промежуточных расчетов несколько столбцов/строк только можно использовать...
...
Рейтинг: 0 / 0
need help2
    #37717461
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindНу что не понятного-то? Все разжевано.
Это Вам так кажется. На самом деле объяснять Вы не умеете, иначе ответ получили бы ещё вчера.

Почему, например, в 8-й строке, в Вашем файле стоит цифра 7, хотя последнее максимальное среднее (3,5) находится во второй строке (а в 7-й строке находится 2, что вообще по условию "которое больше чем M1" не подходит)?
...
Рейтинг: 0 / 0
need help2
    #37717517
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindНу что не понятного-то? Все разжевано.
Это Вам так кажется. На самом деле объяснять Вы не умеете, иначе ответ получили бы ещё вчера.

Почему, например, в 8-й строке, в Вашем файле стоит цифра 7, хотя последнее максимальное среднее (3,5) находится во второй строке (а в 7-й строке находится 2, что вообще по условию "которое больше чем M1" не подходит)?

извиняюсь, сейчас посмотел - опечатка была в условии задачи: максимум ищется в столбце B, а минимум в столбце А, остальное все верно.
...
Рейтинг: 0 / 0
need help2
    #37717622
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindНу что не понятного-то? Все разжевано.
sigizmindизвиняюсь, опечатка была в условии задачи:максимум ищется в столбце B, а минимум в столбце А, остальное все верно.

Ничего себе опечаточка. Вы понимаете что задача меняется на абсолютно другую?! Вспомните про "Казнить нельзя помиловать".

Вопрос: Почему теперь в 10-й строке Вашего файла стоит 9, хотя последнее среднее (2,5) находится на 10-й строке?
...
Рейтинг: 0 / 0
need help2
    #37717638
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sigizmind,
Из объяснения все равно не понятно, предложу свой вариант

ЗЫ: Видимо хочется сделать в одной ячейки массив минимумов и максимумов в виде минимум из последней 1 ячейки, 2х ячеек, 3х ячеек и т.д.
Через МАКС/МИН это сделать не возможно, т.к. эти функции возвращают только одно значение если им подсовывать массив, диапазон, массив диапасонов
Делается через ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4;массив диапазонов)
где "массив диапазонов" формируется через СМЕЩ
...
Рейтинг: 0 / 0
need help2
    #37717666
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindНу что не понятного-то? Все разжевано.
sigizmindизвиняюсь, опечатка была в условии задачи:максимум ищется в столбце B, а минимум в столбце А, остальное все верно.

Ничего себе опечаточка. Вы понимаете что задача меняется на абсолютно другую?! Вспомните про "Казнить нельзя помиловать".

Вопрос: Почему теперь в 10-й строке Вашего файла стоит 9, хотя последнее среднее (2,5) находится на 10-й строке?

Да ничего там не поменялось,только максимумы и минимумы брать из других колонок, я посмотрел ваши предыдущие решения - думал, что на самом деле вы верно все сделали, а я забраковал из-за опечатки, но нет, даже если максы брать из А, а минимумы из B - все равно не верно находите ответы. Так что решения задачи пока не было, можете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать.

Да, Вы правы в 10-рй строке должно быть 10. Теперь вижу , что Вы понимаете что нужно найти :-)

Но в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся.
...
Рейтинг: 0 / 0
need help2
    #37717699
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindНо в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся.А если попробовать, прежде чем писать?
Где конкретно появляется неверный результат? Я таковых не нашёл
...
Рейтинг: 0 / 0
need help2
    #37717706
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmindможете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать.
Так в этом-то и суть!!!
Я же на них ориентировался, а Вы мало того что постоянно ошибаетесь с проверочными данными, так ещё и условия изначально неправильные задали.

Считаю что задачу я решил. Несмотря на все препятствия, которые Вы чинили на пути её решения :)
...
Рейтинг: 0 / 0
need help2
    #37717738
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindможете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать.
Так в этом-то и суть!!!
Я же на них ориентировался, а Вы мало того что постоянно ошибаетесь с проверочными данными, так ещё и условия изначально неправильные задали.

Считаю что задачу я решил. Несмотря на все препятствия, которые Вы чинили на пути её решения :)

Как это решили?? Для частного случая M1=2 ? :-)
Если M1=5 то уже не работают Ваши "решения" или укажите в каком посте приложен правильный файл.
...
Рейтинг: 0 / 0
need help2
    #37717746
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmind...укажите в каком посте приложен правильный файл.
Включаем логику. В каком посте итоговый файл? Мне кажется, что двух ответов быть не может - В ПОСЛЕДНЕМ С ВЛОЖЕНИЕМ. В данном случае это файл sigizmind_3.xls .

А про какой файл Вы говорили, что он не работает правильно? Про тот который я делал по Вашим "кривым" условиям или про тот, который ориентировался на Ваши "кривые" проверочные данные?
...
Рейтинг: 0 / 0
need help2
    #37717749
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmindНо в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся.А если попробовать, прежде чем писать?
Где конкретно появляется неверный результат? Я таковых не нашёл

Да, посмотрел, все верно решили! Извините, теперь вижу - все верно. Извините, что палки в колеса ставил, это не по злому умыслу :-)
...
Рейтинг: 0 / 0
need help2
    #37717757
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Михаил Ч.sigizmind,
Из объяснения все равно не понятно, предложу свой вариант

ЗЫ: Видимо хочется сделать в одной ячейки массив минимумов и максимумов в виде минимум из последней 1 ячейки, 2х ячеек, 3х ячеек и т.д.
Через МАКС/МИН это сделать не возможно, т.к. эти функции возвращают только одно значение если им подсовывать массив, диапазон, массив диапасонов
Делается через ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4;массив диапазонов)
где "массив диапазонов" формируется через СМЕЩ

Уф, ничего себе решение!!!! Буду пытаться разобраться в этих хитросплетениях, спасибо!
...
Рейтинг: 0 / 0
need help2
    #37717760
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigizmind,

Здесь отпишитесь, что проблема решена.
...
Рейтинг: 0 / 0
need help2
    #37718243
sigizmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007sigizmind,

Здесь отпишитесь, что проблема решена.

Сделано!
А можете немного объяснить как работает Ваше решение? Count где и как описывается?
...
Рейтинг: 0 / 0
need help2
    #37718425
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sigizmind,
Serge 007 хитрый, мало того, что он скрыл "Лист2", на котором "киллометровые" расчеты, так еще и именованный диапазон "count" попрятал

PS:
Range("count").Name =Лист2!$A$52:$S$52
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / need help2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]