VitGot
6 subscribers
835 photos
4 videos
1 file
1.39K links
Мой персональный блог
Download Telegram
Знакомое чувство? 😅 Проверяйте данные до анализа, а не после!
Как я победил хаос в учёте целей за один вечер
https://vitoandolini.livejournal.com/627057.html

История о том, как 30 строк кода заменили мне гору таблиц
Было:
📉 Excel-файлы с расчётами в разных форматах
📅 Потерянные данные за прошлые месяцы
3 часа ручной работы каждый отчётный период
Стало:
# Автоматический расчёт прогресса
days_passed = (datetime.now() - start_date).days
progress = (current_result / yearly_goal) * 100
daily_needed = (yearly_goal - current_result) / (365 - days_passed)
Что получил:
Мгновенные расчёты

Прогресс по целям
Отклонения в днях
Рекомендации по ежедневному плану

Автоматическое сохранение
Все данные аккуратно записываются в CSV:
Дата, Цель, Факт, Отклонение
2025-06-29, 5510, 2885, +168
2025-06-29, 1377, 673, -6
Главный плюс:
Теперь вместо рутинных подсчётов я трачу 5 минут на:

Ввод текущих результатов
Анализ автоматически сгенерированных данных
Корректировку планов
Типичные ошибки в Excel, которые портят ваши отчёты
https://vitoandolini.livejournal.com/627351.html

Проверьте, не делаете ли вы так:
Смешанные форматы (числа как текст → СУММ не работает).
Жёсткие числа в формулах (например, =B2*0.2 вместо =B2*$C$1).
Неиспользование именованных диапазонов — усложняет чтение формул.
Как исправить:

Выделите данные → Ctrl+1 → проверьте формат ячеек.
Заменяйте числа на ссылки (например, ставьте ставку НДС в отдельную ячейку).
Создайте именованный диапазон: Формулы → Диспетчер имен.

👉 Какие ошибки бесят вас больше всего?
Как автоматически собирать данные из нескольких файлов Excel
https://vitoandolini.livejournal.com/627612.html

Задача: У вас есть 10 файлов с продажами за месяц — как объединить их в одну таблицу?
Решение 1: Power Query (Excel)

Данные → Получить данные → Из файла → Из папки.
Выберите папку → «Объединить и загрузить».

Решение 2: Python (pandas)
import pandas as pd
import glob

files = glob.glob("sales/*.xlsx") # читаем все файлы из папки  
data = pd.concat([pd.read_excel(f) for f in files])
data.to_excel("combined_sales.xlsx")
👉 Кто использует другие способы? Делитесь в комментах!
Разбор вашего кейса: как я предсказывал выручку на Python
https://vitoandolini.livejournal.com/627797.html

Недавно мне нужно было спрогнозировать продажи на следующий квартал. Вот что сделал:

Данные: История продаж за 2 года + внешние факторы (праздники, реклама).
Графики: Тренд + сезонность (библиотека statsmodels).
Модель: Prophet от Facebook (код ниже).

from prophet import Prophet

model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=90)
forecast = model.predict(future)
Итог: Точность прогноза — 89%.
👉 Хотите разбор вашего кейса? Присылайте данные анонимно!
Мем дня: Когда понимаешь, что данные битые
https://vitoandolini.livejournal.com/628214.html
Я, потративший 3 часа на анализ, vs. Коллега: "У тебя в столбце 500 NA"
Спасайте себя — сначала делайте df.isna().sum()! 😅
Практика: посчитайте выручку по условию
https://vitoandolini.livejournal.com/628269.html

Задача: В таблице есть столбцы Товар, Количество, Цена. Как найти сумму продаж только для товаров категории «Электроника»?
Варианты решения:
Excel:
=СУММЕСЛИ(A:A; "Электроника"; C:C * B:B) (не сработает!) → правильно: =СУММПРОИЗВ(--(A:A="Электроника"); B:B; C:C).
Python:
df[df["Товар"] == "Электроника"]["Количество"] * df["Цена"]).sum()
👉 Пишите ваши варианты в комментах! Через 2 часа выложу правильный ответ.
Как визуализировать данные в Google Sheets без доп. инструментов
https://vitoandolini.livejournal.com/628708.html

В Sheets есть крутые фишки для визуализации:

Диаграмма-водопад (для финансов):
Выделите данные → «Вставка» → «Диаграмма» → «Водопадная».
Тепловая карта условного форматирования:
Выделите числа → «Формат» → «Условное форматирование» → «Цветовая шкала».
Sparklines (мини-графики в ячейках):
=SPARKLINE(B2:F2; {"charttype"; "bar"})

👉 Какие типы графиков используете чаще всего?
Скрытые функции Google Sheets, о которых не знают 90% пользователей
https://vitoandolini.livejournal.com/628846.html

Sheets — это мощнее, чем кажется! Вот что вы могли пропустить: 
🔹 =GOOGLETRANSLATE() – перевод текста прямо в таблице:
=GOOGLETRANSLATE(A2; "en"; "ru") // переведёт текст из A2 с английского на русский
🔹 =IMAGE() – вставка картинок по ссылке:
=IMAGE("https://example.com/photo.jpg")
🔹 =SPARKLINE() – мини-графики в ячейках:
=SPARKLINE(B2:F2; {"charttype"; "bar"})
👉 Какие функции используете вы? Делитесь в комментах!
Как сделать динамический отчёт с фильтрами без кода
https://vitoandolini.livejournal.com/629021.html

Задача: Хотите, чтобы клиенты сами выбирали параметры (например, регион или период), а таблица мгновенно обновлялась?
Решение:
1.Создайте выпадающие списки: Выделите ячейку → «Данные» → «Проверка данных» → «Список диапазонов».
2.Используйте =FILTER() для динамической выборки:
=FILTER(A2:D100; C2:C100=G1; A2:A100>=G2) // G1 — регион, G2 — дата
3.Добавьте диаграмму, которая ссылается на отфильтрованные данные.
👉 Пример: Отчёт, где можно выбрать месяц и видеть график продаж.
Автоматизация Sheets: как парсить сайты без программиста
https://vitoandolini.livejournal.com/629501.html

Хотите загружать курсы валют или цены конкурентов прямо в таблицу?
Инструменты:
1.=IMPORTHTML() – парсит таблицы с сайтов:
=IMPORTHTML("https://www.example.com/rates"; "table"; 1)
2.=IMPORTXML() – для сложных данных (XPath):
=IMPORTXML("https://news.com (https://news.com/)"; "//h2/a") // заголовки новостей
3.Google Apps Script – если нужно что-то сложнее (например, парсинг API).
⚠️ Важно: Некоторые сайты блокируют такие запросы.
👉 Попробуйте: Загрузите курс доллара с ЦБ РФ и поделитесь скрином в комментах!
Как собрать данные из 100 Google Forms в одну таблицу
https://vitoandolini.livejournal.com/629568.html

Проблема: У вас есть формы от разных филиалов, а сводить вручную — боль.
Решение:

Откройте таблицу с ответами формы → «Инструменты» → «Редактор скриптов».
Вставьте код:
function mergeForms() {  
 const sheets = ["Филиал 1", "Филиал 2"]; // названия листов  
   let result = [];  
   sheets.forEach(sheet => {  
       const data =        SpreadsheetApp.getActive().getSheetByName(sheet).getDataRange().getValues();  
       result = result.concat(data.slice(1)); // убираем заголовки  
      });
    SpreadsheetApp.getActive().getSheetByName("Итог").getRange(1, 1,     result.length, result[0].length).setValues(result);  
}  
Запустите скрипт — все данные появятся на листе «Итог».

👉 Бонус: Как автоматизировать это по расписанию? Пишите «+» в комментах — сделаю гайд!
Мем: Когда Sheets предложил ‘Исправить формулу’, но сломал всё
https://vitoandolini.livejournal.com/629872.html
*«Я: Всё проверил 10 раз. Sheets: Может, заменить =SUMM на =SUM? Я: НЕТ, ЭТО НЕ ТО»*


«Знакомо? 😂 Совет: отключайте автоисправление в «Настройки» → «Общие» → «Формулы»
Практика: посчитайте NPS в Sheets за 5 минут
https://vitoandolini.livejournal.com/630086.html

NPS (Net Promoter Score) — ключевой метрика лояльности. Как её считать:

Данные: столбец с оценками 0-10 от клиентов.
Формула:

=((COUNTIF(A2:A100; ">=9") - COUNTIF(A2:A100; "<=6")) / COUNTA(A2:A100) * 100

Визуализация: Диаграмма-радар для распределения оценок.

👉 Задание: Подсчитайте NPS для данных ниже и напишите результат в комментах!
Оценки: 10, 8, 5, 9, 7, 10, 4
🚀 Чек-лист: «5 способов очистить данные в Google Sheets, которые сэкономят вам часы»
https://vitoandolini.livejournal.com/630275.html

Грязные данные — причина 80% ошибок в отчётах. Вот как быстро их «почистить» без магии:
1️⃣ Удаляем дубликаты
=UNIQUE(A2:B100) // Оставляет только уникальные строки
Пример: После обработки 1000 строк осталось 720 — 28% мусора ушли!
2️⃣ Заменяем #N (https://www.livejournal.com/rsearch/?tags=%23N)/A и другие ошибки
=IFERROR(VLOOKUP(...); "Нет данных") // Вместо ошибки — понятный текст
3️⃣ Разделяем «слипшиеся» данные
=SPLIT(A2; ",") // Разбивает "Яблоки,1200" на две колонки
4️⃣ Убиваем лишние пробелы
=TRIM(A2) // Превращает " Москва " в "Москва"
5️⃣ Автоматизируем через скрипт Инструменты → Редактор скриптов → Вставить код:
function cleanData() { const sheet = SpreadsheetApp.getActive().getSheetByName("Данные"); sheet.getDataRange().trimWhitespace().removeDuplicates(); }
💡 Задание: Попробуйте любой способ и напишите в комментах, сколько времени сэкономили!
Разбор ошибки: «Почему VLOOKUP не находит значения?»
https://vitoandolini.livejournal.com/630753.html

Подписчик прислал файл с ошибкой: #N (https://www.livejournal.com/rsearch/?tags=%23N)/A в VLOOKUP. Вот что было не так:
Ошибка:

В исходной таблице значения были как текст ("100"), а в поиске — как число (100).

Решение:
1.Привести всё к тексту:
=VLOOKUP(TO_TEXT(A2); диапазон; столбец; 0)
2.Или к числам:
=VLOOKUP(VALUE(A2); диапазон; столбец; 0)
Как избежать:

Проверяйте формат ячеек (Формат → Число).
Используйте =ISNUMBER() или =ISTEXT().

👉 Проверьте себя: Есть ли у вас формулы, которые могут сломаться из-за этого?