Перейти до змісту

Потрібна допомога з Google Sheets (Гугл Таблиці)


romzes

Рекомендовані повідомлення

Потрібна порада як реалізувати в таблицях гугла одну незамислувату автоматичну дію...

Ось є зразок таблиці: https://docs.google.com/spreadsheets/d/1MTRzWP7SbmvshXR6MeuY1uk9CeVQLjnS1o2HfXjQkLg/edit?usp=sharing

В першому стовпці дата в форматі (дата, місяць), в другому стовпці кількість (залишок) одиниць товару.

Коли кількість товару міняю (продажа або поступлення) то вручну ставлю поточну дату комбінацією клавіш Ctrl+Ж.

Треба зробити так щоб при зміні кількості в другому стовпці в більшу чи меншу сторону, тобто при будь-якій зміні автоматично ставилась поточна дата в першому стовпці...

 

Хто шарить в формулах і функціях? Буду вдячний за допомогу!

Посилання на коментар
Поділитись на інші сайти

Трохи порився (ніколи гугл таблицями не займався), так от - з допомогою формул нічого не вийде. Можливо тільки з допомогою макросів. По порядку:

1. в таблиці клацаємо Інструменти - макроси - записати макрос. Виб'є табличку, залишаємо "використовувати абсолютні посилання" і клацаємо "Зберегти" - Називаємо макрос (наприклад "Test1")  - Зберегти

2. Знизу з'явиться напис "макрос збережено" і посилання "редагувати сценарій". Клацаємо Редагувати сценарій  (це можна також зробити з меню "Інструменти - макроси - керувати макросами - три крапочки навпроти назви макросу - редагувати сценарій.

3.  З'явиться вікно сценарію. Замінюємо весь текст на такий:

/** @OnlyCurrentDoc */

function Test1() {
  var spreadsheet = SpreadsheetApp.getActive();
  var range = spreadsheet.getActiveRange();
  var now = new Date();
  if(range.getColumn() == 2){
      range.offset(0, -1).setValue(now);
  }
};

Де

-Test1 - назва макросу, можна змінити прямо тут.

- (range.getColumn() == 2) перевірка, що змінюються дані в 2-му стовпчику,

- range.offset(0, -1) - дата вноситься в стовпчик (2 -1) (тобто 1й )

4. Натискаємо Файл - зберегти.

5. Натискаємо "Тригери поточного проекту" (значок у вигляді годинника).

6. У правому нижньому кути натискаємо "+ додати активатор"

7. З'явиться форма - вибираємо для запуску нашу функцію Test1,   джерело події - "З електронний аркуш", виберіть тип події - "у разі внесення змін". Натискаємо зберегти.

Далі гугл запитає дозвіл на доступ сценарію до документа, вибираємо необхідний профіль і жмемо allow.

В принципі, все просто.

Посилання на коментар
Поділитись на інші сайти

Що це за мова програмування?

Посилання на коментар
Поділитись на інші сайти

JavaScript  з деякими нюансами

 

Якщо поряд буде колонка "План" а вручну Ви будете проставляти "Факт" то можна і формулами обійтись, а взагалі то так як  YVitaliy написав

 

Посилання на коментар
Поділитись на інші сайти

16 годин тому, taurus07 сказано:

Якщо поряд буде колонка "План" а вручну Ви будете проставляти "Факт" то можна і формулами обійтись

А можна детальніше розжувати, бо щось мене мучать сумніви. Принаймні в майкрософтівському екселі я підходящих формул не нарив.

Посилання на коментар
Поділитись на інші сайти

ну якщо потрібно візуально людині бачити що там не так, то ставите формулу яка порівнює значення в колонці План із колонкою Факт, і якщо вони відрізняються то ставити поточну дату, а якщо не відрізняються то якусь іншу, теж десь з сусідньої колонки де ставилась дата коли заповнювався План. 

Візуально шось подібне намалювати вийде,та макросом краще.

Посилання на коментар
Поділитись на інші сайти

Так задача --  проставити дату,  коли востаннє залишки мінялися в даному рядку,  і без макроса тут ніяк.  Тобто відкриваєш файл і по кожному рядку бачиш,  коли саме остання зміна була.

  З макросом я і сам можу :)

Посилання на коментар
Поділитись на інші сайти

отут якийсь приклад є

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=27177

детально не аналізував, лінь налаштовувати ітерації

Посилання на коментар
Поділитись на інші сайти

Заархівовано

Ця тема знаходиться в архіві та закрита для подальших відповідей.


Hosting Ukraine
AliExpress WW


×
×
  • Створити...