Excel Средний Вопросы - PullRequest
       17

Excel Средний Вопросы

0 голосов
/ 17 августа 2011

Так что я должен превзойти листы.Каждый лист выглядит так:

Имя Значение

Боб 1234

Салли 2343

Джо 564564

По сути у меня есть 300 имен иих ценности.У меня есть второй лист, который имеет те же имена, но с разными значениями.Я хотел бы знать самый простой способ получить среднее значение для имени каждого на нескольких листах.У меня сейчас только два листа, но я бы хотел сделать это в будущем.

Ответы [ 5 ]

2 голосов
/ 17 августа 2011

Если позиция одинакова на всех листах, это довольно просто:

=AVERAGE( Sheet1!A1, Sheet2!A1, Sheet3!A1 )

или

=AVERAGE( Sheet1:Sheet3!A1 )

Однако, если позиция меняется, вам придется сделатьиспользование формул в категории поиска.

0 голосов
/ 17 августа 2011

Использовать формулу массива. Введите следующее в первую ячейку, заменив «Bob» ссылкой на ячейку для записи «Bob», и нажмите CTRL + SHIFT + ENTER:

= SUM((name_col2='Bob')*(value_col2))/sum((name_col2='Bob')*1)
0 голосов
/ 17 августа 2011

Допустим, у вас есть 3 листа с одинаковыми именами, в одной и той же позиции.Вставьте 4-й лист, где вы копируете эти имена.В столбце результатов введите =AVERAGE(Sheet1:Sheet3!A2) и скопируйте эту формулу вниз.
Готово.
Если вы планируете добавить больше листов позже, оставьте специальный лист, который всегда будет оставаться пустым, и сделайте вашу формулу: =AVERAGE(Sheet1:Special!A2).

После этого вы сможете вставить новые листы ДО Специального, и ваше среднее значение необходимо будет отредактировать.

0 голосов
/ 17 августа 2011

В Excel нет простого пути.Вы должны написать код VBA.Вам нужно определить все свои листы, которые вам нужны для расчетов, пройтись по всем именам и поместить их в массив.

// [Имя, Номер, Количество листов] [["Bob", 1234, 1], ["Sally", 2343, 1], ...]

Для каждого имени на каждом листе необходимо проверить, включено ли оно в ваш массив.

Если этоcase увеличивайте число и количество, иначе добавьте новый элемент с [Name, Number, 1]

. В конце пройдите через ваш массив и выведите Name и Number / Count на новый лист.

Вам нужны базовые навыки программирования.

0 голосов
/ 17 августа 2011

Боб находится в одной строке на каждом листе? Есть листы, где нет Боба? Будет ли Боб появляться несколько раз?

В любом случае, это то, что, вероятно, будет более подходящим для хранения в базе данных. Excel по-прежнему может извлекать данные из БД и отображать их в виде таблицы, но в среднем вам будет гораздо проще выполнять усреднение.

Однако, если в Excel это так, то вам нужно использовать функции поиска, чтобы найти Bob в каждом рабочем листе, а затем получить его соответствующее значение. =LOOKUP(), вероятно, поможет в поиске / поиске, но вам все равно придется делать это для каждого листа.

...