Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
Здравствуйте!

Есть excel-файл. Присутсвуют вкладки ("Город1", "Город2" и т.д.) с одинаковой структурой. Во вкладке "Общий" вытягиваются данные из вкладок в зависимости какой выбран город.

1. В формулах нужно убрать СУММ( ... ), то есть вместо
=СУММ(ДВССЫЛ(СЦЕПИТЬ($B$1;"!B4")))+СУММ(ДВССЫЛ(СЦЕПИТЬ($B$1;"!B5")))
должно быть так
=ДВССЫЛ(СЦЕПИТЬ($B$1;"!B4"))+ДВССЫЛ(СЦЕПИТЬ($B$1;"!B5"))
Пытаюсь написать макрос, но затрудняюсь. Тут не просто в формуле удалить подстроку "СУММ(", но и еще знак ")". Подскажите как можно это сделать?

2.Добавил строку "Статья4". В колонке Январь прописал формулу. Но если протягивать для остальных месяцев, то в формуле колонки не сдвигаются. Приходится вручную корректировать. Но если писать гибкую формулу, то формула (из за наличии в формуле функции ...ДВССЫЛ(СЦЕПИТЬ)...) будет тяжело читаться, то есть трудно разобрать что и откуда берется. Здесь можно как то обойти? Например, вместо ДВССЫЛ(СЦЕПИТЬ) по другому формулу написать для данного примера.

Пример во вложенном файле.

К сообщению приложен файл (Пример.xlsx - 15Kb) cкачать
6 сен 17, 15:59    [20776030]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16236
ferzmikk
не просто в формуле удалить подстроку "СУММ(", но и еще знак ")". Подскажите как можно это сделать?
Стек. Открывающая скобка - плюс один, закрывающая - минус один. Если ноль - удалить эту скобку. Всё.
6 сен 17, 16:19    [20776084]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
Akina,

Спасибо!
7 сен 17, 08:47    [20777205]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16236
ferzmikk, только учти, что скобки могут быть и в составе строковых литералов... в том числе и в виде СИМВОЛ(40) и СИМВОЛ(41)... и все их нужно игнорировать.
7 сен 17, 09:00    [20777245]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
Akina
ferzmikk, только учти, что скобки могут быть и в составе строковых литералов... в том числе и в виде СИМВОЛ(40) и СИМВОЛ(41)... и все их нужно игнорировать.

Ок, понял.
7 сен 17, 09:42    [20777377]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
Если во вложенном файле во вкладках по городам добавить строку так, что остальные сдвинутся вниз

К сообщению приложен файл. Размер - 25Kb
8 сен 17, 09:27    [20780694]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
то во вкладке "Общий" не учтет сдвиг. И данные будут отображаться не корректно

К сообщению приложен файл. Размер - 20Kb
8 сен 17, 09:29    [20780705]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
ferzmikk
Member

Откуда:
Сообщений: 1086
Как прописать формулы в ячейках так, чтобы можно было учесть сдвиги строк, и даже колонок?
8 сен 17, 09:30    [20780713]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16236
А не надо добавлять. Формулы рассчитывают на статический шаблон.
Если очень надо - пиши функцию, которая учтёт подобные закидоны.
8 сен 17, 09:35    [20780736]     Ответить | Цитировать Сообщить модератору
 Re: Обработка формул  [new]
Bobgos
Member

Откуда:
Сообщений: 240
ferzmikk
Как прописать формулы в ячейках так, чтобы можно было учесть сдвиги строк, и даже колонок?
выделить исходный диапазон, меню вставка, таблица ( с заголовками) и далее использовать в формулах ссылки на поля таблицы.
17 сен 17, 15:37    [20801525]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить