|
need help2
|
|||
---|---|---|---|
#18+
Помогите пожалуйста! Можно ли решить без 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:45 |
|
need help2
|
|||
---|---|---|---|
#18+
Налицо классический случай рекурсии. Реализовать такое без VBA на листе Excel в принципе можно: Параметры->Формулы->Включить итеративные вычисления. Раскуривать эту тему предлагаю вам самостоятельно, но имхо VBA освоить - больше профита ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 23:17 |
|
need help2
|
|||
---|---|---|---|
#18+
А я так и не понял, откуда взялось 17? 19 средних значений получить можно легко (18 раз по 5,5 и одно - 10,5) даже понятно что такое 19 - нет ни одного среднего, которое меньше М1 А что такое 17? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 23:46 |
|
need help2
|
|||
---|---|---|---|
#18+
Как понял, с доп. столбцами ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 00:34 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007, Неправильные результаты получаются :-( В D17 должно быть 17, в D16 должно быть 16. Посмотрите пожалуйста, может надо что-то подправить... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 05:23 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindВ D17 должно быть 17, в D16 должно быть 16. Почему? Объясните нормальным языком ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 08:18 |
|
need help2
|
|||
---|---|---|---|
#18+
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 Так понятнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 08:34 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindТак понятнее? Нет, так ещё больше запутали. Давайте рисуйте пример по правилу "Есть так" - "Надо так". Что должно получится - заполните вручную. Просто проставьте итоговые цифры. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 09:49 |
|
need help2
|
|||
---|---|---|---|
#18+
Пока рисуете, попробую ещё одну догадку (см. вложение) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 10:31 |
|
need help2
|
|||
---|---|---|---|
#18+
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 я пытался составить цикл, но что-то не получается, хотя смысл должен быть примерно такой. Видимо неправильно я записал данные для МАКС и МИН, не получается цикл запустить... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 10:52 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007Пока рисуете, попробую ещё одну догадку (см. вложение) опять неправильные результаты получаются, но думаю с моим последним фалом понятнее станет, что я хочу. И желательно промежуточные результаты такие большие не делать под данным, т.к. я привел небольшой пример, а реально там тысячи строк.... Для промежуточных расчетов несколько столбцов/строк только можно использовать... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 10:55 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindНу что не понятного-то? Все разжевано. Это Вам так кажется. На самом деле объяснять Вы не умеете, иначе ответ получили бы ещё вчера. Почему, например, в 8-й строке, в Вашем файле стоит цифра 7, хотя последнее максимальное среднее (3,5) находится во второй строке (а в 7-й строке находится 2, что вообще по условию "которое больше чем M1" не подходит)? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 11:26 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007sigizmindНу что не понятного-то? Все разжевано. Это Вам так кажется. На самом деле объяснять Вы не умеете, иначе ответ получили бы ещё вчера. Почему, например, в 8-й строке, в Вашем файле стоит цифра 7, хотя последнее максимальное среднее (3,5) находится во второй строке (а в 7-й строке находится 2, что вообще по условию "которое больше чем M1" не подходит)? извиняюсь, сейчас посмотел - опечатка была в условии задачи: максимум ищется в столбце B, а минимум в столбце А, остальное все верно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 11:50 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindНу что не понятного-то? Все разжевано. sigizmindизвиняюсь, опечатка была в условии задачи:максимум ищется в столбце B, а минимум в столбце А, остальное все верно. Ничего себе опечаточка. Вы понимаете что задача меняется на абсолютно другую?! Вспомните про "Казнить нельзя помиловать". Вопрос: Почему теперь в 10-й строке Вашего файла стоит 9, хотя последнее среднее (2,5) находится на 10-й строке? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 12:25 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmind, Из объяснения все равно не понятно, предложу свой вариант ЗЫ: Видимо хочется сделать в одной ячейки массив минимумов и максимумов в виде минимум из последней 1 ячейки, 2х ячеек, 3х ячеек и т.д. Через МАКС/МИН это сделать не возможно, т.к. эти функции возвращают только одно значение если им подсовывать массив, диапазон, массив диапасонов Делается через ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4;массив диапазонов) где "массив диапазонов" формируется через СМЕЩ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 12:33 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007sigizmindНу что не понятного-то? Все разжевано. sigizmindизвиняюсь, опечатка была в условии задачи:максимум ищется в столбце B, а минимум в столбце А, остальное все верно. Ничего себе опечаточка. Вы понимаете что задача меняется на абсолютно другую?! Вспомните про "Казнить нельзя помиловать". Вопрос: Почему теперь в 10-й строке Вашего файла стоит 9, хотя последнее среднее (2,5) находится на 10-й строке? Да ничего там не поменялось,только максимумы и минимумы брать из других колонок, я посмотрел ваши предыдущие решения - думал, что на самом деле вы верно все сделали, а я забраковал из-за опечатки, но нет, даже если максы брать из А, а минимумы из B - все равно не верно находите ответы. Так что решения задачи пока не было, можете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать. Да, Вы правы в 10-рй строке должно быть 10. Теперь вижу , что Вы понимаете что нужно найти :-) Но в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 12:44 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindНо в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся.А если попробовать, прежде чем писать? Где конкретно появляется неверный результат? Я таковых не нашёл ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:03 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmindможете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать. Так в этом-то и суть!!! Я же на них ориентировался, а Вы мало того что постоянно ошибаетесь с проверочными данными, так ещё и условия изначально неправильные задали. Считаю что задачу я решил. Несмотря на все препятствия, которые Вы чинили на пути её решения :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:06 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007sigizmindможете и для первоначального варианта продолжать искать решения - в принципе разницы нет, только тогда проверочные ответы надо будет пересчитать. Так в этом-то и суть!!! Я же на них ориентировался, а Вы мало того что постоянно ошибаетесь с проверочными данными, так ещё и условия изначально неправильные задали. Считаю что задачу я решил. Несмотря на все препятствия, которые Вы чинили на пути её решения :) Как это решили?? Для частного случая M1=2 ? :-) Если M1=5 то уже не работают Ваши "решения" или укажите в каком посте приложен правильный файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:19 |
|
need help2
|
|||
---|---|---|---|
#18+
sigizmind...укажите в каком посте приложен правильный файл. Включаем логику. В каком посте итоговый файл? Мне кажется, что двух ответов быть не может - В ПОСЛЕДНЕМ С ВЛОЖЕНИЕМ. В данном случае это файл sigizmind_3.xls . А про какой файл Вы говорили, что он не работает правильно? Про тот который я делал по Вашим "кривым" условиям или про тот, который ориентировался на Ваши "кривые" проверочные данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:24 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007sigizmindНо в файле вашем верные ответы только для M1 = 2, если поставить M1=5 например, то ответы неправильные становятся.А если попробовать, прежде чем писать? Где конкретно появляется неверный результат? Я таковых не нашёл Да, посмотрел, все верно решили! Извините, теперь вижу - все верно. Извините, что палки в колеса ставил, это не по злому умыслу :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:26 |
|
need help2
|
|||
---|---|---|---|
#18+
Михаил Ч.sigizmind, Из объяснения все равно не понятно, предложу свой вариант ЗЫ: Видимо хочется сделать в одной ячейки массив минимумов и максимумов в виде минимум из последней 1 ячейки, 2х ячеек, 3х ячеек и т.д. Через МАКС/МИН это сделать не возможно, т.к. эти функции возвращают только одно значение если им подсовывать массив, диапазон, массив диапасонов Делается через ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4;массив диапазонов) где "массив диапазонов" формируется через СМЕЩ Уф, ничего себе решение!!!! Буду пытаться разобраться в этих хитросплетениях, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 13:28 |
|
need help2
|
|||
---|---|---|---|
#18+
Serge 007sigizmind, Здесь отпишитесь, что проблема решена. Сделано! А можете немного объяснить как работает Ваше решение? Count где и как описывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 16:32 |
|
|
start [/forum/topic.php?fid=61&msg=37717361&tid=2175264]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 459ms |
0 / 0 |