PDA

Показать полную графическую версию : [архив] Microsoft Excel


Страниц : 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18

Chelovek2004
27-10-2004, 11:38
Lilu qwer
Напиши подробно что тебе надо на мыло. Сделаю тебе 2 листа (быстро не обещаю, времени не так и много).

Chelovek2004
27-10-2004, 11:40
DeJaVu
Макросы были в документе или отдельной надстройкой?

DeJaVu
27-10-2004, 12:54
[mzd]
установленна безопасность минимальная

Chelovek 2004
в документе

Chelovek2004
27-10-2004, 14:15
DeJaVu

Может синтаксиз изменился, но я этого не встречал.
Видел глюки при переходе на 2003 на XP не видел, но не факт что их нет.
Так не знаю.

Добавлено:

DeJaVu

Может синтаксиз изменился, но я этого не встречал.
Видел глюки при переходе на 2003 на XP не видел, но не факт что их нет.
Так не знаю.

SANtana
27-10-2004, 20:19
В экселе есть функция РАНГ, она выдает ранг числа в списке чисел, но у нее есть один минус: если в списке попадается несколько одинаковых чисел, то она этим числам присваивает одинаковый ранг. Как это обойти?
В данном эпизоде, мне, в случае одинаковых чисел необходимо задать ранжирование по второму списку. Как это сделать?

Исправлено: SANtana, 19:24 27-10-2004

Greyman
27-10-2004, 20:40
SANtana
В экселе есть функция РАНГ, она выдает ранг числа в списке чисел, но у нее есть один минус: если в списке попадается несколько одинаковых чисел, то она этим числам присваивает одинаковый ранг. Как это обойти?
Никак. Cправку читал?Замечания
РАНГ присваивает повторяющимся числам одинаковый ранг. Однако, наличие повторяющихся чисел влияет на ранг последующих чисел. Например, для списка целых, если число 10 появляется дважды и имеет ранг 5, то 11 будет иметь ранг 7 (и никакое число не будет иметь ранг 6).В данном эпизоде, мне, в случае одинаковых чисел необходимо задать ранжирование по второму списку. Как это сделать? Подробнее можешь описать что тебе нужно? Я уже сто раз объяснял людям, что часто бывает "Непьявильным путем идем, товаищи..." (С) * В Экселе полно разных функций и думаю тебе наверняка подойдет комбинация каких-нибудь из них и без использования "ранга" (МИН, МАКС, ПОИСКПОЗ, ИНДЕКС и т.д. и т.п.)...

SANtana
27-10-2004, 20:55
Greyman
да читал я справку :( , думал мало ли...
Мне нужно нарисовать таблицу чемпионата, чтобы она подсчитывала очки, домашние победы, проигрышы и т.д. и в том числе определение места игрока. Место определяется количеством набранных очков, если количество очков одинаковое, то нужно проверить разницу забитых и пропущенных мячей, у кого разница лучше, у того и место должно быть выше.
Если есть функции, комбинациями которых можно решить эту проблемку, плиз подскажите :)

Greyman
27-10-2004, 21:35
SANtana
Ну вариантов много. Сходу - это комбинация РАНГ, "поиск значения" и сложение. В чем смысл:
Место определяет не ранг числа, а сумма это ранга с @рангом@. Что собой прелставляет @ранг@ - это РАНГ среди одинаковых значений первого ранга, но берущийся из соответствующих значений разницы мячей, при этом первое значени этого ранг должно равняться 0. Составленная таким образом формула будет слегка громоздкой и наверное потребует доп.столбец с первыми рангами и столбец с разницей мячей, зато она будет универсальной и размножаться простым копированием. Используемые функции - РАНГ и ПРОСМОТР.
* * *Но повторюсь - вариантов куча, это просто пришел первым в голову. Теория д/б понятна, смотри хэлп и твори. Оригинальный код щас некогда подогнать, да и самому думаю надобно пробовать разобраться...

SANtana
28-10-2004, 10:44
Greyman
теорию я в принципе понял, но я не понял при помощи какой функции определить одинаковый первый ранг (ЕСЛИ или чем-то другим?), и что с ним потом делать?
Ну и что с чем и где складывать я тож не понял :)

Может я конечно торможу, плиз растолкуй, бо башка не варит шото совсем, и по хелпу я ниче не нашел.

Greyman
28-10-2004, 11:42
SANtana
Ок. Я вчера по дороге домой подумал... и пришел к выводу, что так как я имел в виду - работать не будет. Зато прекрасно работает по гораздо проще системе. Будет 4-е доп. столбца, твое место в чемпионате будет отображаться в 4-ом:
1) столбец разниц мячей (пусть будет - "C", строки - с 6 по 16);
2) столбец рангов суммарных очков, как он у тебя был в начале (E);
3) столбец, учитывающий ранг и разницу мячей, по нему будет строиться место в чемпионате (F). Имеем формулу вида -=E15+(C15-МИН(C$6:C$16))/(МАКС(C$6:C$16)-МИН(C$6:C$16))/24) столбец мест в чемпионате (G). Представляет собой ранг по предыдущему столбцу, но в обратном порядке, т.к. там получился минимальный ранг для максимальных очков, а в обычном случае тогда получется максимальное место для максимальных очков, что ИМХО не совсем верно...:) Тогда имеем формулу -=РАНГ(F6;F$6:F$16;1)Ну як, потянет?
* * *Пояснение:
1)Деление на максимум нужно для того, чтоб разница мячей не приводила к тому, что новый ранг будет больше другие ранги.
2)Деление на двойку исключает такой маловероятный случай, когда следующая по рангу строчка после той, что имеет максимальную разницу мяцей, имее разницу, равную нулю. В этом случае мы получим две команды, занимающих одинаковаое место.
3)Вычитаниние минимума нужно для перевода разниц мячей в положительную сторону опять же для того, чтобы она не приводила изменению ранга (в сторону уменьшения).

SANtana
28-10-2004, 16:38
Greyman
я попробовал так как ты предложил, но там получается шо считает не правильно, считает исходя из разницы мячей, а не из разницы очков.

Greyman
28-10-2004, 18:21
SANtana
Значит смотри, где ошибся. Может не тот столбец используешь или еще что. Логика то ясна? Вот и проверя согласно ей что не так.Место определяется количеством набранных очковПо этим данным делается столбец №2.
если количество очков одинаковое, то нужно проверить разницу забитых и пропущенных мячейЭти данные сводятся в столбец №1.
* * * Смотри, где напутал...

SANtana
29-10-2004, 16:44
решил проблему по другому, все теже 4 столбца остались, но 3 столбец немного изменил:
очки*21(максимум в партии)+разница

А потом уже в 4 столбце делал ранг из 3 столбца.

:) спасибо всем, кто откликнулся. :)

Mike L
24-09-2005, 21:09
Вопрос такой. В Exel есть файл, состоящий из двух списков, которые расположены параллельно (первый столбец А,В второй C,D) по 2 поля в каждом в первом 10 строк, во втором 15. Какой формулой или макросом можно сравнить эти 2 списка чтобы Exel выдал 5 строк, которых нет в первом списке.

Vovchick1
24-09-2005, 23:05
Mike L
Например так, в столбце "F" пишеш формулу "=ЕСЛИ(B1=D1;"OK";D1)".
И если ячейка "B1" совпадает с ячейкой "D1" то выводится "OK" если нет выводится значение ячейки "D1". :) :) :)
Используеш автозаполнение и всё... :victory: :victory: :victory:

Mike L
25-09-2005, 10:15
Так не получается, поскольку даже если списки отсортированы, поскольку первый список меньше второго идет смещение и Exel выдает что такой строки нет, хотя она есть, но стоит ниже по порядку. Я думаю все-таки нужен макрос, который бы брал ячейку из второго списка и проверял на совпадение СО ВСЕМИ ЯЧЕЙКАМИ из первого списка. Может есть какой-нибудь сайт где есть примеры подобных макросов. Если подскажите буду благодарен. Ну или кто знает напишите прямо в форуме, тоже неплохо. Заранее спасибо.

Kroc
25-09-2005, 14:09
Mike L
Те же грабли и у меня были. Причём, надо было срочно сделать подобное. И я тоже пришёл к выводу, что без макроса такое не сотворить.
А на скорую руку ничего "умнее" не придумал :
- формирование промежуточной таблицы примерно так же, как советовал Vovchick1;
- копирую её в Ворд, там формирую в то, что мне надо
- запихиваю обратно в Эксель.
На тот момент такое решение оказалось быстрее, чем макрос сочинять :)
Если найдешь решение, плз, скажи, или мне на мыло кинь ссылочку...

Mike L
25-09-2005, 15:44
Может кто-нибудь макрос все-таки подскажет?

Vovchick1
25-09-2005, 16:10
Mike L
Вот макрос!!! :) :) :)

Mike L
25-09-2005, 19:33
Vovchick1 Отправь мне файл на мыло, а то с форума не открывается.

Заранее спасибо




© OSzone.net 2001-2012