Excel как суммировать все ячейки с одинаковыми именами
1201
Dickie Dunkin
У меня есть рабочая тетрадь с 30 и более листами. В частности, каждый лист может представлять собой счет-фактуру, порядок изменения и т. Д., Так что формат каждого листа отличается от формата следующего.
Именованный диапазон Total на каждом листе может относиться к одной или нескольким случайным ячейкам на этом листе. На последнем листе я хочу, чтобы в одной ячейке отображалась сумма всех ячеек с именем Total .
Количество листов может варьироваться. Я не хочу использовать сводную таблицу.
Это возможно?
Приложение : Приведенная ниже формула возвращает общее количество всех ячеек, принадлежащих любому имени « Итого » на любом из перечисленных листов, но я хотел бы автоматизировать его, чтобы мне не пришлось вручную добавлять все имена листов. Название Total может относиться к одной ячейке или любой совокупности ячеек на каждом листе. При фактическом использовании именами листов могут быть любые случайные имена. Итак, я ищу код, который будет смотреть на каждом листе, и если лист содержит имя Total, то он добавляет + SUM (имя листа! (Total) к уравнению. Функция SUM необходима, чтобы, если есть два или больше ячеек на листе в именованном диапазоне Total, затем они включаются в GrandTotal. = SUM (Лист1! Всего) + SUM (Лист2! Всего) + SUM (Sheet3! Всего) + SUM (Лист4! Всего)
Другой пример : ниже показано, почему я думаю, что можно сделать то, что я хочу, за один шаг. Formulas = GET.CELL (48, INDIRECT ("rc", 0)) создает динамический именованный диапазон "Формулы" в реальном времени, который включает каждую ячейку в книге, которая содержит формулу. Затем вы можете условно отформатировать все ячейки, чтобы иметь затененный фон, если ячейка содержит формулу.
Итак, я ищу функцию что-то вроде: GrandTotal = SUM (GET.CELL ("Total", INDERECT ("rc", 0)), где Total относится к любой ячейке, которая принадлежит диапазону с именем Total .
Обратите внимание, что [SU] не является сервисом написания скриптов. Если вы сообщите нам, что вы уже пробовали (включая сценарии, которые вы используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Http://superuser.com/help/how-to-ask).
DavidPostill 8 лет назад
0
Во-первых, как вы дали одно и то же имя диапазонам на разных листах? Я нахожусь на Excel 2016, и я не могу повторить вашу ситуацию
Prasanna 8 лет назад
0
Prasanna - Excel имеет два уровня именованных диапазонов, уровень рабочей книги и уровень рабочей таблицы. Вот один из способов изменить это: начать с одного чистого листа. Назовите свои диапазоны; это, скорее всего, диапазоны уровней рабочей книги по умолчанию. Теперь щелкните правой кнопкой мыши вкладку листа и скопируйте на новый лист. Новый лист будет иметь диапазоны уровней листа. Удалить оригинальный лист. Если вы продолжите делать копии листа, они будут именоваться диапазонами на уровне листа.
Dickie Dunkin 8 лет назад
0
Что касается вашего примера с именованным диапазоном «Формулы», чтобы закрасить ячейки формулой: Формула, которую вы дали, не работает как именованный диапазон, в котором вы можете выполнять функции. Он возвращает либо «ИСТИНА», либо «ЛОЖЬ», в зависимости от того, есть ли в конкретной ячейке формула. Если вы используете его для условного форматирования и применяете его к большому диапазону, он оценит каждую ячейку индивидуально.
Engineer Toast 8 лет назад
0
Чтобы узнать больше о Get.Cell, посмотрите [здесь] (http://www.mrexcel.com/forum/excel-questions/20611-info-only-get-cell-arguments.html)
Engineer Toast 8 лет назад
0
1 ответ на вопрос
0
Вы можете написать в сводном листе 2 столбца, для каждого счета-фактуры написать название листа.
Общая сумма счета1
Sheet2
Sheet7
если sheet1 находится в A2, во втором столбце:
=INDIRECT(A2&"!"&"total") у вас будет общая стоимость счета, после чего вы сможете добавить ее к итоговой сумме