Есть две экселевские таблицы в двух табах одного xls файла, одинаковые по структуре. В каждой есть поля - "команда" и "набранные очки". В первой таблице - первый тур, во второй - второй тур. Надо в отдельное поле в первой таблице (все равно в какой на самом деле) для каждой команды получить сумму очков по двум турам. Таблицы отсортированы по набранным очкам, поэтому порядок следования команд может быть (и будет) разным. Вопрос: как это сделать средствами экселя. В идеале формулами, если формулами не получится ну совсем никак, то в какую сторону курить VBA?
Да формулами. Тупо пиши =SUM(Лист1!A1:A2) - там даже мышкой можешь указать нужные ячейки Под рукой его сейчас нет, но помнится мне можно задать даже диапазоны с разных листов одновременно. Если не сложится, то суммируешь на каждом листе как обычно =SUM(A1:A3); а в нужном тебе месте =Лист1!X1 + Лист2!X1 Upd1: Мгм. Не заметил условия, что команды прыгать будут.... Хреновасто. Тогда VBA поколупай. Там ничего сложного. минут на 5-10 работы.
Я специально для этого и сказал, что команды сортируются по очкам. По занятому месту. Если команда получает еще одно очко, она сдвигается в таблице вверх. Цель в том, чтобы сделать таблицу без очков, чтобы при вводе результатов расчет шел автоматически. Или я чего-то не понял?
что-то вроде update list1 set full_result = list1.result+ (select result from list2 where list1.name=list2.name) where list1.name=list2.name Но эксель sql не понимает
Ммм. Слишком давно дело было, больше 7ми лет назад. В общем. две исходные таблицы никуда прыгать не должны. - Команды стоят на своих местах. По-алфавиту или вразнобой - не важно. А вот рассчетные таблицы (делаешь на отдельном листе)... Можно посмотреть в Excel, что там у него есть в возможностях с сортировкой. Т.е. отсортированной должна быть только конечная таблица. Если ничего не найдешь, то пиши расчет на VBA и не мучайся.
знать бы еще VBA... Есть там конструкция, позволяющая находить номер строки по значению одной из ячеек?
Зачем тебе номер строки? У тебя все значения никуда не прыгают. Ты их читаешь в массив (названия, позицию, в/п/н, очки) Сортируешь его. И выводишь на отдельный лист.
Если б жизнь была проста... Есть страница на экселе. С автосортировкой по очкам, будь она неладна. В ней лежат результаты по первому туру. Есть скопированная с первой вторая страница. Тоже, ясное дело, с автосортировкой. В ней будут результаты по второму. Они уже есть, они данность, и команд в них по паре сотен. Потому что после тура в порядке занятых мест объявляются победители тура. То есть место занятое в туре тоже значимо. А сортировка автоматическая в смысле проставлена заранее, потому что пользоваться этими таблицами буду не я.
Я тебе о другом. Список команд - это одно. А их места и конечный список тура - это другое. Но хочется вам с автосортировкой. Ну и хрен с ними. Бери все строки в массив и верти как хочешь и вокруг чего хочешь. Результат выводи в отдельную страницу.
Ну так посмотри и формулы... Там 300 с чем-то функций встроенных. Есть даже транспонирование матрицы одним движением.... в смысле одной формулой.
посмотри в справке Excel функцию ПОИСКПОЗ и внизу ссылку на раздел "Поиск значений в списке данных". Может тебе это поможет.
хз. находится в категории "ссылки и массивы". вот уж что, а эксель с вордом можно и русские поставить)
Нельзя. То есть можно конечно, но ради одной задачки переставлять офис? Кстати, мысль которую я раньше не думал. Формула, написанная в русском экселе как отработает в англицком? Каким-то образом переведется или будет матюкаться?