Существует ли формула или метод автоматического умножения данных на конкретном листе и на разных листах - PullRequest
0 голосов
/ 20 апреля 2019

Я создаю отчетный документ, в котором автоматически рассчитывается общее количество баллов, полученных учеником в классе.Значения, которые нужно умножить, находятся в ячейках B22 и E22 Sheet1, Sheet2, Sheet3 и отображают результат в Sheet4.Лист1, Лист2 и Лист 3 имеют одинаковое форматирование и дизайн.Что это за метод или формула, которую можно использовать для умножения;

B22 * E22 в Sheet1, который будет отображать результат в sheet4,

, и когда я использую ручку автозаполнения для ячейки, содержащей результат в sheet4, Excel должен следовать этому шаблону, чтобы умножитьодни и те же ячейки на разных листах автоматически;

скажем,

B22 * E22 на листе 2

B22 * E22 на листе 3

и так далее ...

Я пытался вычислить его вручную;

Допустим, на Листе 4 в ячейке A1 я использовал

= 'Sheet1'! B22 * 'Sheet1'! E22

в ячейке A2, = 'Sheet2'! B22 * 'Sheet2'! E22

в ячейке A3, = 'Sheet3'! B22 * 'Sheet3'! E22

, и это сработало,Но проблема здесь в том, что эта работа является чисто ручной и отнимает много времени, так как у меня много листов (около 62 листов) и много других вычислений ячеек, чтобы сделать аналогичные вышеприведенным (в других книгах).

Когда я вводил формулу = 'Sheet1'! B22 * 'Sheet1'! E22 в ячейке A1, я пытался использовать ручку автозаполнения для перетаскивания и заполнения ячеек A2 и A3.

Но это не так 't работает, как excel продолжает изменять ссылки на ячейки.

Эта формула, которую я использовал, работает с Sheet4

в A1 = 'Sheet1'! B22 * 'Sheet1'! E22

Когда я использую ручку автозаполнения, чтобы заполнить формулу и получить значения в

A2, это то, что она дает = 'Sheet1'! B23 * 'Sheet1'! E23

A3, это дает = 'Sheet1'! B24 * 'Sheet1'! E24

Я хочу формулу или метод, с помощью которого, когда я использую дескриптор поля, excel должен поддерживать ссылку на ячейки для расчета (умножение), чтоесть,

B22 и E22

и вместо этого измените листы.То есть

На листе 4 в ячейке A1: = 'Sheet1'! B22 * 'Sheet1'! E22

A2: = 'Sheet2'! B22 * 'Sheet2'! E22

A3: = 'Sheet3'! B22 * 'Sheet3'! E22.

Приведенные выше формулы - результат, который я ожидаю получить.

Но фактический результат равен

На листе 4, в ячейке

A1: = 'Sheet1'! B22 * 'Sheet1'! E22

A2:= «Лист1»! B23 * «Лист1»! E23

A3: = «Лист1»! B24 * «Лист1»! E24.

Любая помощь / подсказка будут высоко оценены!

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

Ответы [ 2 ]

1 голос
/ 20 апреля 2019
=INDIRECT("'Sheet"&ROW(A1)&"'!B22")*INDIRECT("'Sheet"&ROW(A1)&"'!E22")

Поместите приведенную выше формулу в пустую ячейку, затем скопируйте вниз.

Функция INDIRECT преобразует текст со ссылками в ссылку Excel. Однако следует помнить, что INDIRECT - это изменчивая функция. Это не конец света. Изменчивая функция просто означает, что она пересчитывает каждый раз, когда что-либо в рабочей книге изменяется. Обычная функция будет пересчитываться только тогда, когда что-то, что влияет на нее, изменится. Другими словами, если у вас есть рабочая книга, полная изменчивых функций, вы можете заметить некоторые проблемы с производительностью рабочей книги из-за всех вычислений, происходящих при каждой замене ячейки

Обновление

Очевидно, я должен послушать мою запись. INDIRECT преобразует ссылки. Очевидно, он не будет работать с математическим оператором. Поэтому используйте косвенные для каждой ссылки и держите свои математические операторы в стороне от косвенных.

POC

На изображении выше показана копия и вставка приведенной выше формулы. Если лист не существует, он выдаст ошибку, так как у него нет адреса для поиска.

0 голосов
/ 21 апреля 2019

Итак, множество опций показаны работающими, B22 оставлено пустым, чтобы доказать, что расчет работает.Использовать умножение вместо сложения, поскольку это было то, что вы имели, также изменило "" на 0, чтобы получить правильную функциональность.

enter image description here

...