Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как увеличить значение ячейках на значения из других? - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Как увеличить значение ячейках на значения из других?
Naira-Ast Дата: Четверг, 25.07.2024, 17:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
На одном листе две одинаковые таблицы по структуре ( первая Остатки, вторая Поступление).
Как сделать чтоб значения в таблице Остатки запоминала свои значения и складывала к ним
значения из соответствующих ячеек другой таблицы Поступления.

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

пример загурзила
К сообщению приложен файл: primer_xls.xlsm (27.9 Kb)
 
Ответить
СообщениеНа одном листе две одинаковые таблицы по структуре ( первая Остатки, вторая Поступление).
Как сделать чтоб значения в таблице Остатки запоминала свои значения и складывала к ним
значения из соответствующих ячеек другой таблицы Поступления.

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

пример загурзила

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 17:29
Hugo Дата: Четверг, 25.07.2024, 20:01 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Сделать не сложно - можно на словаре парой циклов, можно тупо цикл в цикле в цикле в цикле перебором ячеек, но я вообще против такой организации всего этого дела.
Потом кто-то дважды код запустит а я буду виноват... ((


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеСделать не сложно - можно на словаре парой циклов, можно тупо цикл в цикле в цикле в цикле перебором ячеек, но я вообще против такой организации всего этого дела.
Потом кто-то дважды код запустит а я буду виноват... ((

Автор - Hugo
Дата добавления - 25.07.2024 в 20:01
i691198 Дата: Четверг, 25.07.2024, 20:06 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 109 ±
Замечаний: 0% ±

Добрый вечер. Конкретно для вашего примера достаточно простой макрос в модуль листа. Принцип такой - при изменении значения какой то ячейки в диапазоне P5:Y66 это значение прибавляется к значению ячейки в той же строке на 14 столбцов левее.
[vba]
Код
  Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("P5:Y66")) Is Nothing And Target.Count = 1 Then
    Target.Offset(, -14) = Target.Offset(, -14) + Target
  End If
End Sub
[/vba]
(Упростил вашу формулу в столбцах L и Z , и рекомендация - не мешало бы защитить первую таблицу от ручного изменения значений)
К сообщению приложен файл: primer_xls2.xlsm (30.0 Kb)
 
Ответить
СообщениеДобрый вечер. Конкретно для вашего примера достаточно простой макрос в модуль листа. Принцип такой - при изменении значения какой то ячейки в диапазоне P5:Y66 это значение прибавляется к значению ячейки в той же строке на 14 столбцов левее.
[vba]
Код
  Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("P5:Y66")) Is Nothing And Target.Count = 1 Then
    Target.Offset(, -14) = Target.Offset(, -14) + Target
  End If
End Sub
[/vba]
(Упростил вашу формулу в столбцах L и Z , и рекомендация - не мешало бы защитить первую таблицу от ручного изменения значений)

Автор - i691198
Дата добавления - 25.07.2024 в 20:06
Hugo Дата: Четверг, 25.07.2024, 20:11 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Я когда писал про словарь или циклы - это писалось для универсального варианта, если вдруг перепутаны местами названия и профили.
А так то конечно можно слепо прибавлять при изменениях, но не дай бог ошибиться при вводе...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ когда писал про словарь или циклы - это писалось для универсального варианта, если вдруг перепутаны местами названия и профили.
А так то конечно можно слепо прибавлять при изменениях, но не дай бог ошибиться при вводе...

Автор - Hugo
Дата добавления - 25.07.2024 в 20:11
Naira-Ast Дата: Четверг, 25.07.2024, 20:40 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("P5:Y66")) Is Nothing And Target.Count = 1 Then
    Target.Offset(, -14) = Target.Offset(, -14) + Target
End If
End Sub


Класс! Вот, что значит хорошее логическое мышление и знания! Спасибо вам большое!
 
Ответить
Сообщение
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("P5:Y66")) Is Nothing And Target.Count = 1 Then
    Target.Offset(, -14) = Target.Offset(, -14) + Target
End If
End Sub


Класс! Вот, что значит хорошее логическое мышление и знания! Спасибо вам большое!

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 20:40
i691198 Дата: Четверг, 25.07.2024, 20:43 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 109 ±
Замечаний: 0% ±

но не дай бог ошибиться при вводе

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

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

Автор - i691198
Дата добавления - 25.07.2024 в 20:43
Naira-Ast Дата: Четверг, 25.07.2024, 20:46 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
(Упростил вашу формулу в столбцах L и Z , и рекомендация - не мешало бы защитить первую таблицу от ручного изменения значений)


Для меня Экзель открывается с новой стороны о которой я даже не знала, всегда считала Экзель примитивной программой и топила за 1С, ну сейчас понимаю, что можно такие крутые вещи делать!

изменения в формуле в столбцах L и Z не работает почему то, загружу сейчас эту формулу, в чем интересно ошибка?
К сообщению приложен файл: 0731288.xlsm (30.7 Kb)


Сообщение отредактировал Naira-Ast - Четверг, 25.07.2024, 20:52
 
Ответить
Сообщение
(Упростил вашу формулу в столбцах L и Z , и рекомендация - не мешало бы защитить первую таблицу от ручного изменения значений)


Для меня Экзель открывается с новой стороны о которой я даже не знала, всегда считала Экзель примитивной программой и топила за 1С, ну сейчас понимаю, что можно такие крутые вещи делать!

изменения в формуле в столбцах L и Z не работает почему то, загружу сейчас эту формулу, в чем интересно ошибка?

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 20:46
i691198 Дата: Четверг, 25.07.2024, 21:09 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 109 ±
Замечаний: 0% ±

в чем интересно ошибка

Не увидел ошибку, у меня все работает. Функция не новая, работает с версии 2010. Попробуйте другой вариант
Код
=СУММ(($B$4:$J$4)*(B5:J5))
Формула массивная, вводится Ctrl+Shift+Enter.
 
Ответить
Сообщение
в чем интересно ошибка

Не увидел ошибку, у меня все работает. Функция не новая, работает с версии 2010. Попробуйте другой вариант
Код
=СУММ(($B$4:$J$4)*(B5:J5))
Формула массивная, вводится Ctrl+Shift+Enter.

Автор - i691198
Дата добавления - 25.07.2024 в 21:09
Hugo Дата: Четверг, 25.07.2024, 21:34 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
изменения в формуле в столбцах L и Z не работает почему то
- работало в примере...
Но я предлагаю такой вариант, тут и поправить косяки всегда можно за любую дату.
Ещё форматы в шапках поправил, но это не принципиально.
Можно в коде добавить чтобы при удалении значений по одному вручную в базу не писало, но это на результат не влияет.
Зато видно что кто-то косячил ))
Можно кстати и этого оператора тоже туда писать, если нужно, а лист сделать скрытым чтоб оператор туда не лез.
К сообщению приложен файл: primer_baza.xlsm (44.5 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Четверг, 25.07.2024, 21:39
 
Ответить
Сообщение
изменения в формуле в столбцах L и Z не работает почему то
- работало в примере...
Но я предлагаю такой вариант, тут и поправить косяки всегда можно за любую дату.
Ещё форматы в шапках поправил, но это не принципиально.
Можно в коде добавить чтобы при удалении значений по одному вручную в базу не писало, но это на результат не влияет.
Зато видно что кто-то косячил ))
Можно кстати и этого оператора тоже туда писать, если нужно, а лист сделать скрытым чтоб оператор туда не лез.

Автор - Hugo
Дата добавления - 25.07.2024 в 21:34
Naira-Ast Дата: Четверг, 25.07.2024, 21:34 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
i691198, Спасибо вам! Все заработало!
 
Ответить
Сообщениеi691198, Спасибо вам! Все заработало!

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 21:34
Naira-Ast Дата: Четверг, 25.07.2024, 21:55 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Hugo, Так удобно! Благодарю!
единственное ,если можете подсказать как защитить исходную (СЛЕВА) таблицу от изменений, чтоб формулы не удалились


Сообщение отредактировал Naira-Ast - Четверг, 25.07.2024, 21:56
 
Ответить
СообщениеHugo, Так удобно! Благодарю!
единственное ,если можете подсказать как защитить исходную (СЛЕВА) таблицу от изменений, чтоб формулы не удалились

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 21:55
Hugo Дата: Четверг, 25.07.2024, 22:24 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
можете подсказать как защитить исходную

- и слева, и справа - это в формате ячейки крыжик делает.
И Рецензирование - снять/поставить защиту. Пароля сейчас нет.
Лист отобразить можно в VBE. Или кодом, если уметь и знать что где искать. Когда/если VBE закрыт паролем.
P.S. тут код ещё и юзера пишет, себя я подтер ))
К сообщению приложен файл: 0884565.xlsm (45.6 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение
можете подсказать как защитить исходную

- и слева, и справа - это в формате ячейки крыжик делает.
И Рецензирование - снять/поставить защиту. Пароля сейчас нет.
Лист отобразить можно в VBE. Или кодом, если уметь и знать что где искать. Когда/если VBE закрыт паролем.
P.S. тут код ещё и юзера пишет, себя я подтер ))

Автор - Hugo
Дата добавления - 25.07.2024 в 22:24
Naira-Ast Дата: Четверг, 25.07.2024, 22:43 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Hugo, точно!
буду пробовать доделывать,по аналогии и по другим материалам похожие таблицы, спасибо за код, сама точно такой не смогла бы написать! если возникнут еще вопросы я напишу)))!
 
Ответить
СообщениеHugo, точно!
буду пробовать доделывать,по аналогии и по другим материалам похожие таблицы, спасибо за код, сама точно такой не смогла бы написать! если возникнут еще вопросы я напишу)))!

Автор - Naira-Ast
Дата добавления - 25.07.2024 в 22:43
Hugo Дата: Четверг, 25.07.2024, 23:02 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Naira-Ast, И в таком решении эти таблицы могут быть расположены как угодно (хоть на разных листах, или в разных файлах), содержать шапки слева и сверху в любом порядке, с любым содержимым - суммироваться будет если совпадёт с базой название и профиль, следить нужно чтоб это совпадало - а то в базу вдруг понапишите названия с английской "a" - и не посчитается половина данных...
И формат данных профилей важен - не путать текст с числами, или учитывать это усложняя формулы.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеNaira-Ast, И в таком решении эти таблицы могут быть расположены как угодно (хоть на разных листах, или в разных файлах), содержать шапки слева и сверху в любом порядке, с любым содержимым - суммироваться будет если совпадёт с базой название и профиль, следить нужно чтоб это совпадало - а то в базу вдруг понапишите названия с английской "a" - и не посчитается половина данных...
И формат данных профилей важен - не путать текст с числами, или учитывать это усложняя формулы.

Автор - Hugo
Дата добавления - 25.07.2024 в 23:02
Naira-Ast Дата: Вторник, 30.07.2024, 19:34 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Hugo,


Сообщение отредактировал Naira-Ast - Вторник, 30.07.2024, 19:37
 
Ответить
СообщениеHugo,

Автор - Naira-Ast
Дата добавления - 30.07.2024 в 19:34
Naira-Ast Дата: Вторник, 30.07.2024, 19:34 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Hugo,
Добрый вечер! Пыталась подстроить ваш код под чуть измененную мной форму, ну увы ничего не выходит.. подскажите что нужно изменить?
Здесь нужно чтоб данные с правой таблицы передавались в левую и заполнялась база , ну просто не знаю что еще поменять, чтоб заработало %)
Прикрепила файл, заранее спасибо!
К сообщению приложен файл: frizy.xlsm (31.1 Kb)


Сообщение отредактировал Naira-Ast - Вторник, 30.07.2024, 19:41
 
Ответить
СообщениеHugo,
Добрый вечер! Пыталась подстроить ваш код под чуть измененную мной форму, ну увы ничего не выходит.. подскажите что нужно изменить?
Здесь нужно чтоб данные с правой таблицы передавались в левую и заполнялась база , ну просто не знаю что еще поменять, чтоб заработало %)
Прикрепила файл, заранее спасибо!

Автор - Naira-Ast
Дата добавления - 30.07.2024 в 19:34
Hugo Дата: Вторник, 30.07.2024, 19:50 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Naira-Ast, поменяйте O на G
[vba]
Код
.Cells(il + 1, 1).Resize(, 4) = Array(Now, Cells(Target.Row, "G"), Cells(4, Target.Column), Target)
[/vba]
Но формулы нужно докрутить, чтоб по виду раскидывало.
P.S. Сори, раскидывает, но не везде - проверьте все формулы, они с косяками!
В первой строке.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Вторник, 30.07.2024, 19:54
 
Ответить
СообщениеNaira-Ast, поменяйте O на G
[vba]
Код
.Cells(il + 1, 1).Resize(, 4) = Array(Now, Cells(Target.Row, "G"), Cells(4, Target.Column), Target)
[/vba]
Но формулы нужно докрутить, чтоб по виду раскидывало.
P.S. Сори, раскидывает, но не везде - проверьте все формулы, они с косяками!
В первой строке.

Автор - Hugo
Дата добавления - 30.07.2024 в 19:50
Naira-Ast Дата: Вторник, 30.07.2024, 20:25 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
Но формулы нужно докрутить, чтоб по виду раскидывало.
P.S. Сори, раскидывает, но не везде - проверьте все формулы, они с косяками!
В первой строке.


Это формулы с прошлого файла сохранились, здесь нужно сделать проще ,в прошлом нужна была сумма произведений длины профиля на количество, а здесь только сумма количества и я не смогла ее изменить под эту задачу просто, использовать Функцию СуммаЕСли может нужно здесь


Сообщение отредактировал Naira-Ast - Вторник, 30.07.2024, 20:26
 
Ответить
Сообщение
Но формулы нужно докрутить, чтоб по виду раскидывало.
P.S. Сори, раскидывает, но не везде - проверьте все формулы, они с косяками!
В первой строке.


Это формулы с прошлого файла сохранились, здесь нужно сделать проще ,в прошлом нужна была сумма произведений длины профиля на количество, а здесь только сумма количества и я не смогла ее изменить под эту задачу просто, использовать Функцию СуммаЕСли может нужно здесь

Автор - Naira-Ast
Дата добавления - 30.07.2024 в 20:25
Naira-Ast Дата: Вторник, 30.07.2024, 20:30 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

2016
А нет, работает! просто в первой строке как вы сказали были ошибки ) Спасибо! вам еще раз, вы меня снова выручили!
 
Ответить
СообщениеА нет, работает! просто в первой строке как вы сказали были ошибки ) Спасибо! вам еще раз, вы меня снова выручили!

Автор - Naira-Ast
Дата добавления - 30.07.2024 в 20:30
Hugo Дата: Вторник, 30.07.2024, 20:47 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Naira-Ast,
Там не сумма произведений считается, а просто по факту сумма при совпадении условий.
Формула
Код
=СУММПРОИЗВ(БазаФРИЗЫ!$D$2:$D$9844*(БазаФРИЗЫ!$B$2:$B$9844=$A6)*(БазаФРИЗЫ!$C$2:$C$9844=B$4))

суммирует произведение значения столбца D на 0 или 1 и на 0 или 1.
Если оба условия в строке выполняются то *1, иначе *0
Т.е. в базу копируется то что человек вводит в правую таблицу, а левая из базы суммирует всё что введено для этого названия и этого вида.
Можно кстати ещё добавить в условие отбор/фильтр по например только для сегодня, или текущая неделя, или текущему месяцу/кварталу/году, или выбирать этот параметр где-то рядом в выпадающем списке...
Или сделать рядом другую такую таблицу, где будут собираться такие суммы - если вдруг будет нужна такая сводка. Например а как люди работают по пятницам? ))


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеNaira-Ast,
Там не сумма произведений считается, а просто по факту сумма при совпадении условий.
Формула
Код
=СУММПРОИЗВ(БазаФРИЗЫ!$D$2:$D$9844*(БазаФРИЗЫ!$B$2:$B$9844=$A6)*(БазаФРИЗЫ!$C$2:$C$9844=B$4))

суммирует произведение значения столбца D на 0 или 1 и на 0 или 1.
Если оба условия в строке выполняются то *1, иначе *0
Т.е. в базу копируется то что человек вводит в правую таблицу, а левая из базы суммирует всё что введено для этого названия и этого вида.
Можно кстати ещё добавить в условие отбор/фильтр по например только для сегодня, или текущая неделя, или текущему месяцу/кварталу/году, или выбирать этот параметр где-то рядом в выпадающем списке...
Или сделать рядом другую такую таблицу, где будут собираться такие суммы - если вдруг будет нужна такая сводка. Например а как люди работают по пятницам? ))

Автор - Hugo
Дата добавления - 30.07.2024 в 20:47
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!