<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Заметки — Игорь К.: заметки с тегом эксель</title>
<link>https://blog.fossko.ru/tags/exsel/</link>
<description>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Как я помог подготовить диплом по аналитике данных: от разрознённых файлов до законченного проекта</title>
<guid isPermaLink="false">573</guid>
<link>https://blog.fossko.ru/all/kak-ya-pomog-podgotovit-diplom-po-analitike-dannyh-ot-razroznyon/</link>
<pubDate>Thu, 13 Nov 2025 13:01:54 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kak-ya-pomog-podgotovit-diplom-po-analitike-dannyh-ot-razroznyon/</comments>
<description>
&lt;p&gt;Ко мне обратился студент, который проходил обучение по направлению &lt;b&gt;«Бизнес-аналитика и визуализация данных»&lt;/b&gt; в рамках профессиональной программы повышения квалификации.&lt;br /&gt;
Студент уже работал по специальности — аналитиком в коммерческой компании, где регулярно сталкивался с большими наборами данных, Excel-моделями и необходимостью строить отчёты для руководства.&lt;/p&gt;
&lt;p&gt;Для диплома он выбрал тему, связанную с анализом данных своей компании (данные были &lt;b&gt;анонимизированы&lt;/b&gt; и частично модифицированы для использования в учебных целях).&lt;br /&gt;
Но, как это часто бывает, набор исходников был большим, разрозненным и требовал серьёзной доработки, чтобы превратиться в полноценный аналитический проект.&lt;/p&gt;
&lt;p&gt;В итоге работа над дипломом превратилась в комплексный проект по подготовке данных, созданию моделей, визуализаций и оформлению итогового документа.&lt;/p&gt;
&lt;h2&gt;Исходная ситуация&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Аудит исходных материалов показал&lt;/b&gt;, что студент располагает: разрозненными Excel-расчётами, несколькими неполными PBIX-файлами, отсутствующей моделью данных, незавершённым текстом диплома, рабочей гипотезой без аналитической структуры.&lt;/p&gt;
&lt;p&gt;Требовалось провести полную сборку проекта: &lt;b&gt;данные → модель → визуализация → текст&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Цель: &lt;b&gt;собрать всё в единый законченный диплом&lt;/b&gt;, который можно успешно защитить.&lt;/p&gt;
&lt;h2&gt;Какие задачи нужно было решить&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовить корректный набор данных.&lt;/b&gt; Очистка, нормализация и объединение таблиц. Корректировка типов данных. Устранение противоречий между файлами.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Построить аналитическую модель.&lt;/b&gt; Создание Power BI-отчёта. Построение полноценной схемы связей. Разработка DAX-мер и показателей. Формирование дашбордов для итоговой презентации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Создать текстовую часть диплома.&lt;/b&gt; Теоретическая основа. Описание методики анализа данных. Практическая аналитическая глава. Выводы и рекомендации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовить материал к защите&lt;/b&gt; Презентация. Экспорт визуализаций. Структурированная итоговая папка проекта.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Хронология проекта&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Первое обращение&lt;/b&gt; — 15 сентября 2025. Студент прислал архив с исходниками и запросил оценку.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Аудит файлов&lt;/b&gt; — 15—17 сентября (2 дня). Изучение Excel, .pbix, логики расчётов и структуры данных.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка данных&lt;/b&gt; — 18—28 сентября (11 дней). Чистка, нормализация, объединение таблиц, создание корректных датасетов.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Разработка Power BI-модели&lt;/b&gt; — 29 сентября—7 октября (9 дней). Построение схемы данных, настройка связей, создание мер DAX, визуализации, итоговый дашборд.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка текстовой части&lt;/b&gt; — 8—16 октября (9 дней). Оформление трёх глав, описание методики, аналитическая часть, вставка графиков, выводы.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка к защите&lt;/b&gt; — 17—20 октября (4 дня). Презентация, экспорт графиков, финальная упаковка проекта.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Итоговая длительность: 36 дней.&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.51.43.png" width="718" height="512" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Исходные данные находятся на Яндекс диске, все таблицы описаны с проблемами которые встречаются&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.52.59.png" width="713" height="494" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Прописаны вычисляемые столбцы и как производятся преобразования и очистка данных&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.54.07.png" width="749" height="619" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Отдельно прописано как вычисляются меры и что они означают&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.56.47.png" width="1148" height="788" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Модель данных PowerBi&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="739" data-ratio="1.1146304675716"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.58.05.png" width="739" height="663" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.58.20.png" width="721" height="646" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Дашборды с объяснением&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Что было сделано&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt; Подготовка Excel-моделей.&lt;/b&gt; Объединение разрозненных таблиц. Создание единой структуры данных. Нормализация и валидация. Проверка расчётов и формул.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Создание Power BI-отчёта.&lt;/b&gt; Разработка схемы данных, настройка связей (one-to-many, many-to-one), создание мер для KPI и метрик, визуализации в нескольких итерациях (до финальной версии 06v14), подготовка интерактивного дашборда.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовка текста диплома.&lt;/b&gt; Создание структуры глав 1—3, теоретический материал, аналитическая часть по данным компании, вставка визуализаций, итоговые выводы.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовка материалов для защиты.&lt;/b&gt; Финальный документ, презентация, экспорт диаграмм Power BI и систематизация всех файлов.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Проект включал:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Финальный `.pbix` (версия 06v14)&lt;/b&gt; — готовый Power BI-отчёт с полностью настроенной моделью данных, мерами DAX, визуализациями и финальным дашбордом, использовавшийся в дипломе и презентации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Excel-файлы с расчётами&lt;/b&gt; — очищенные и нормализованные таблицы, включающие исходные данные, промежуточные расчёты, справочники, показатели и подготовленные датасеты, которые легли в основу Power BI-модели.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Промежуточные версии моделей&lt;/b&gt; — несколько более ранних вариантов `.pbix` и Excel-файлов, наглядно отражающих этапы формирования структуры данных, проверку гипотез, корректировку связей и визуализаций.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;README с указанием структуры проекта&lt;/b&gt; — служебный файл, который фиксировал версии отчётов, расположение данных, описание изменений и структуру итоговой папки, чтобы проект можно было легко воспроизвести или проверить.&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>Как объединить разукомплектовочную ведомость и штрихкоды из 1С в единую систему Google Таблиц</title>
<guid isPermaLink="false">572</guid>
<link>https://blog.fossko.ru/all/kak-obedinit-razukomplektovochnuyu-vedomost-i-shtrihkody-iz-1s-v/</link>
<pubDate>Wed, 12 Nov 2025 19:11:34 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kak-obedinit-razukomplektovochnuyu-vedomost-i-shtrihkody-iz-1s-v/</comments>
<description>
&lt;p&gt;Ко мне обратился &lt;b&gt;мебельный магазин&lt;/b&gt;, который сотрудничает с &lt;b&gt;Мебельной фабрикой «МИФ — Мебель Интерьер Форма».&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Основная задача — привести в порядок таблицы, выгружаемые из 1С, и автоматизировать процесс сверки комплектов, упаковок и штрихкодов.&lt;/p&gt;
&lt;p&gt;Исходные файлы можно скачать прямо с сайта фабрики: &lt;a href="https://mebelmif.ru/specifications"&gt;https://mebelmif.ru/specifications&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Ситуация&lt;/h2&gt;
&lt;p&gt;Фабрика регулярно передаёт партнёрам Excel-выгрузки из 1С.&lt;br /&gt;
Это две большие таблицы, не связанные между собой:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Разукомплектовочная ведомость&lt;/b&gt; — включает и изделия, и упаковки подряд, без чётких признаков, что к чему относится.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды&lt;/b&gt; — отдельный список, где указаны коды упаковок (штрих и QR), но названия часто отличаются от тех, что в ведомости.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;В результате у клиента появлялось десятки тысяч строк данных, которые приходилось сводить вручную — искать, где упаковка, где изделие, что относится к чему.&lt;br /&gt;
На это уходили часы работы, и любая новая выгрузка снова требовала ручного редактирования.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Razukomplektovochnaya-vedosost-(1)---Excel-2025-11-12-19.04.42.png" width="1202" height="539" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент разукомплектовочной ведомости  — видно что все вперемешку и очень трудно отделить одно от другого&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-s0plo5flcw4h05q227v44olqboo62xip--[Zaschischenny-prosmotr]---Excel-2025-11-12-19.06.04.png" width="664" height="468" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент штрихкодов  — нет деления но штрих-код и QR-код&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Задача&lt;/h2&gt;
&lt;p&gt;Собрать полностью автоматическую систему, где Google Таблицы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;сами определяют, где изделие, где упаковка;&lt;/li&gt;
&lt;li&gt;к каждой упаковке подтягивают её родительский товар;&lt;/li&gt;
&lt;li&gt;извлекают штрихкод и QR-код даже при сложном формате строки;&lt;/li&gt;
&lt;li&gt;объединяют всё в единую таблицу по артикулам и характеристикам;&lt;/li&gt;
&lt;li&gt;позволяют добавлять новые выгрузки без переделки формул.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Реализация&lt;/h2&gt;
&lt;p&gt;Проект построен в Google Таблицах и состоит из нескольких листов, каждый из которых выполняет свою роль.&lt;/p&gt;
&lt;p&gt;Листы таблицы&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Исходные данные (RawData)&lt;/b&gt; —Чистая выгрузка из 1С (разукомплектовочная ведомость). Сюда клиент просто вставляет новые данные.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Распознавание структуры (StructureMap)&lt;/b&gt; — Формулы ARRAYFORMULA + REGEXMATCH определяют, какие строки — изделия, какие — упаковки, и протягивают связи.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды (BarcodesRaw)&lt;/b&gt; — Таблица с кодами упаковок. Извлекаются штрихкоды (13 цифр) и QR (всё остальное, включая пробелы).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды обработанные (BarcodesReady)&lt;/b&gt; — Фильтрация и очистка: остаются только строки, где заполнены и название, и коды.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Комплектность (Completeness)&lt;/b&gt;— К упаковкам автоматически подставляются изделия, характеристики, размеры, вес и количество.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Выбор комплектности (Summary)&lt;/b&gt; — Финальный лист — объединённая таблица со всеми данными для анализа и выгрузки.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Схема связей между листами&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[RawData]
    │
    ▼
[StructureMap] ─────────────┐
                            │
                     (по названию и характеристике)
                            │
          [BarcodesRaw] → [BarcodesReady]
                            │
                            ▼
                       [Completeness]
                            │
                            ▼
                       [Summary]&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;RawData → StructureMap&lt;/b&gt; — определение структуры и связей изделий с упаковками.&lt;br /&gt;
&lt;b&gt;BarcodesRaw → BarcodesReady&lt;/b&gt; — извлечение и нормализация кодов.&lt;br /&gt;
&lt;b&gt;StructureMap + BarcodesReady → Completeness&lt;/b&gt; — объединение упаковок и кодов.&lt;br /&gt;
&lt;b&gt;Completeness → Summary&lt;/b&gt; — итоговая таблица с готовыми данными.&lt;/p&gt;
&lt;h2&gt;Технические решения&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ARRAYFORMULA для автообработки без ручного протягивания.&lt;/li&gt;
&lt;li&gt;REGEXMATCH и LOOKUP для логического связывания изделий и упаковок.&lt;/li&gt;
&lt;li&gt;REGEXEXTRACT для разделения штрихкодов и QR, даже если они в одной ячейке.&lt;/li&gt;
&lt;li&gt;XLOOKUP по двум полям (Пакет + Характеристика) для точного сопоставления.&lt;/li&gt;
&lt;li&gt;Формулы работают динамически — достаточно просто вставить новые данные в RawData.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-19.10.01.png" width="1027" height="648" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент разделения комплекности на упаковку и изделие, делается в автоматическом режиме&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-19.11.01.png" width="651" height="594" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент готовых сштрихкодов, в автоматическом режиме штрихкод отделяется от QR-кода&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Результат&lt;/h2&gt;
&lt;p&gt;Теперь достаточно загрузить в таблицу два файла с сайта МИФ —&lt;br /&gt;
и на листе «Выбор комплектности» (Summary) автоматически появляется итоговая сводная таблица:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;изделия, их упаковки, размеры и количество;&lt;/li&gt;
&lt;li&gt;коды (штрих и QR) из актуальной выгрузки;&lt;/li&gt;
&lt;li&gt;всё обновляется без участия разработчика.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-18.59.06.png" width="1305" height="300" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Итог работы — выбор комплектности  — получается итоговая таблица, где к каждому изделию автоматически подтягиваются упаковки, их размеры, вес и коды.&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Таблица «Учет рабочего времени»</title>
<guid isPermaLink="false">564</guid>
<link>https://blog.fossko.ru/all/tablica-uchet-rabochego-vremeni/</link>
<pubDate>Thu, 18 Jul 2024 15:22:35 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/tablica-uchet-rabochego-vremeni/</comments>
<description>
&lt;p&gt;&lt;b&gt;Задача.&lt;/b&gt; Сделать таблицу для автоматического подсчета времени работы сотрудников. Время работы необходимо подсчитывать еженедельно.&lt;/p&gt;
&lt;p&gt;Вариант решения:&lt;br /&gt;
Сделать гугл форму, в ней два поля:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;первое поле: Фамилия&lt;/li&gt;
&lt;li&gt;второе поле:  Пришел или ушел&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Тогда сотрудник перед началом работы заполняет форму, что он пришел, а после окончания работы что ушел.&lt;/p&gt;
&lt;p&gt;Остальные подсчеты выполняются автоматически&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni.png" width="877" height="706" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni-1.png" width="480" height="657" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результаты заполнения формы&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-21.png" width="721" height="716" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На основании заполнения мы можем рассчитать недели и все остальные расчеты&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni-2.png" width="549" height="307" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;После этого можно получить итоговую таблицу&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Автоматический расчет стоимости хранения в фулфилменте</title>
<guid isPermaLink="false">563</guid>
<link>https://blog.fossko.ru/all/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente/</link>
<pubDate>Thu, 18 Jul 2024 15:09:19 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente/</comments>
<description>
&lt;p&gt;Существует таблица для учета товародвижения фулфилмента. Из особенностей на разных листах приход и отгрузки товара.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Задача&lt;/b&gt; Освободить время менеджера на подсчет подсчет платных единиц хранения.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Для решение задачи&lt;/b&gt; Придумать и реализовать метод подсчета стоимости хранения, используя допущения что первые 7 дней хранение продукции бесплатно&lt;/p&gt;
&lt;p&gt;Для подсчета необходимо сделать расчеты стоимости хранения каждой единицы товара в определенный день используя сколько единиц платно хранится в этот день.&lt;/p&gt;
&lt;p&gt;Размножить такие расчеты на все единицы хранения. Получить общую стоимость хранения.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente.png" width="1139" height="608" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Таблица прихода. Нас интересуют поля «Дата», «Баркод», «Количество»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-1.png" width="1483" height="647" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Таблица отгрузки. Нас интересуют поля «Дата отгрузки», «Баркод», «Количество»&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Объединяем данные в один лист, &lt;a href="/all/obedinenie-neskolkih-tablic-v-odnu-gugl-tablicu/"&gt;для автоматического объединения можно использовать query или filter&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-2.png" width="765" height="721" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Объединенная таблица, если это отгрузка, то количество уменьшается. Дата начала оплаты у прихода на семь дней увеличивается, как бесплатное хранение.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Делаем вспомогательный лист по расчетам оплаты&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-3.png" width="777" height="702" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Каждый баркод, в каждый день сколько платных единиц используется, вычисляется объем и умножается на стоимость хранения кубометра.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Делаем расчеты стоимости хранения&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-4.png" width="730" height="618" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На основании введенных дат начала и окончания периода, считаем стоимость хранения за период. Ниже выводим детализацию хранения за этот период&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Если вам нужна помощь с гугл таблицами — &lt;a href="https://t.me/fossko"&gt;@fossko&lt;/a&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>QR коды в гугл таблицах. Год 2024</title>
<guid isPermaLink="false">559</guid>
<link>https://blog.fossko.ru/all/qr-code-google-sheets/</link>
<pubDate>Wed, 08 May 2024 11:25:53 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/qr-code-google-sheets/</comments>
<description>
&lt;p&gt;В мае 2024 года Гугл перестал поддерживать свой сервис по генtрации qr-кодов chart.googleapis.com&lt;/p&gt;
&lt;p&gt;Раньше чтобы сгенерировать QR код из текста ячейки A1 нужно было написать следующую формулу&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=image(&amp;quot;https://chart.googleapis.com/chart?chs=200×200&amp;amp;cht=qr&amp;amp;chl=&amp;quot;&amp;amp;A1)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Сейчас эта формула не работает&lt;/p&gt;
&lt;p&gt;Замена сервис &lt;a href="http://quickchart.io/"&gt;quickchart.io&lt;/a&gt; — бесплатный сервис&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=IMAGE(&amp;quot;https://quickchart.io/qr?text=&amp;quot; &amp;amp; A1)&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Novaya-tablica---Google-Tablicy---Google-Chrome-2024-05-08-11.22.42.png" width="484" height="381" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Генерация qr-кода моего блога, адрес блога записан в ячейку A1&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;С помощью API можно генерировать qr-коды, графики, диаграммы&lt;br /&gt;
&lt;a href="https://quickchart.io/documentation/"&gt;Описание API quickchart.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Онлайн генератор qr кодов &lt;a href="https://quickchart.io/qr-code-api/"&gt;https://quickchart.io/qr-code-api/&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Объединение нескольких таблиц в одну гугл таблицу</title>
<guid isPermaLink="false">553</guid>
<link>https://blog.fossko.ru/all/obedinenie-neskolkih-tablic-v-odnu-gugl-tablicu/</link>
<pubDate>Sun, 17 Mar 2024 12:56:31 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/obedinenie-neskolkih-tablic-v-odnu-gugl-tablicu/</comments>
<description>
&lt;p&gt;Существует несколько десятков однотипных таблиц, требуется объединить в одну таблицу для дальнейшего анализа.&lt;/p&gt;
&lt;p&gt;Можно сделать через QUERY&lt;br /&gt;
ID_table_X — айдишник гугл таблицы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=QUERY({
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_1&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_2&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_3&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_4&amp;quot;;&amp;quot;База!A:W&amp;quot;)
},&amp;quot;select * where Col1 is not null&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Можно сделать через Filter&lt;br /&gt;
Во втором условии мы берем только первый столбец всех таблиц&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=FILTER({
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_1&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_2&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_3&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_4&amp;quot;;&amp;quot;База!A:W&amp;quot;)
};
{
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_1&amp;quot;;&amp;quot;База!A:A&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_2&amp;quot;;&amp;quot;База!A:A&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_3&amp;quot;;&amp;quot;База!A:A&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_4&amp;quot;;&amp;quot;База!A:A&amp;quot;)
}&amp;lt;&amp;gt;&amp;quot;&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;На практике в первой строке содержатся заголовки данный, тогда при объединении они будут дублироваться, для исключения этого импортируем с первой таблицы все данные, а начиная со второй берем данные начиная со второй строчки&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;…
{
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_1&amp;quot;;&amp;quot;База!A:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_2&amp;quot;;&amp;quot;База!A2:W&amp;quot;);
IMPORTRANGE(&amp;quot;https://docs.google.com/spreadsheets/d/ID_table_3&amp;quot;;&amp;quot;База!A2:W&amp;quot;);
…&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Prosmotr-media-2024-03-17-12.55.57.jpg" width="968" height="478" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Используя QUERY, можно импортировать несколько столбцов, в разных порядках, используя номер столбцов Col4, Col5, Col1, Col15&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Prosmotr-media-2024-03-17-12.46.49.jpg" width="1073" height="432" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В примере, первую строчку внесли вручную, а данные импортировали со всех таблиц начиная со второй строчки, использовали функцию filter&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Объединение нескольких листов в гугл таблице</title>
<guid isPermaLink="false">548</guid>
<link>https://blog.fossko.ru/all/obedinenie-neskolkih-listov-v-google-sheets/</link>
<pubDate>Sun, 04 Feb 2024 16:33:21 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/obedinenie-neskolkih-listov-v-google-sheets/</comments>
<description>
&lt;p&gt;Достаточно часто на периоды или места разные листы в одной таблице.&lt;br /&gt;
При работе с такими таблицами, все листы нужно объединить.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Testovoe-zadanie-dlya-vakansii-_Pomoschnik-finansovogo-menedzhera_---Google-Tablicy---Opera-2024-02-04-16.00.31.jpg" width="861" height="641" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Листы разделены по паркам: парк 1, 2, 3 и 4. Профи ру: помощь с выполнением тестового задания «помощник финансового менеджера»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Kopiya-statistika---Google-Tablicy---Opera-2024-02-04-16.03.11.jpg" width="1363" height="1043" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Листы разделены по товарам: корс, мини, трансформер. Листы содержат агрегирующие строчки, которые нужно удалить перед анализом. Профи ру: помощь с анализом продаж&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Алгоритм объединения&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Obedinenie-neskolkih-listov--Testovoe-zadanie-dlya-vakansii-_Pomoschnik-finansovogo-menedzhera_---Google-Tablicy---Opera-2024-02-04-16.17.24.jpg" width="655" height="332" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Добавляем столбец имя листа на листы которые объединяем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ARRAYFORMULA(if(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;&amp;quot;Парк1&amp;quot;;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;На новом листе вставляем оглавление, или просто копируем оглавление&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=QUERY(&amp;#039;Парк 1&amp;#039;!A1:U1;&amp;quot;SELECT *&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Данные можно вставить через Query или Filter: иногда filter работает быстрее query&lt;/p&gt;
&lt;p&gt;Вставляем данные через Query, вставляем все что есть, начиная со второй строчки. В первой строчке у нас наименование столбцов, оно нам не нужно&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;={query(&amp;#039;Парк 1&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 2&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 3&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 4&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;)}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вставляем данные через Filter, дополнительно условие что в первой ячейке должны быть данные&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;={filter(&amp;#039;Парк 1&amp;#039;!A2:U;&amp;#039;Парк 1&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 2&amp;#039;!A2:U;&amp;#039;Парк 2&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 3&amp;#039;!A2:U;&amp;#039;Парк 3&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 4&amp;#039;!A2:U;&amp;#039;Парк 4&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;)}&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Курс «Датасаенс на коленке» — о работе в Google-таблицах</title>
<guid isPermaLink="false">547</guid>
<link>https://blog.fossko.ru/all/kurs-datasaens-na-kolenke-o-rabote-v-google-tablicah/</link>
<pubDate>Thu, 25 Jan 2024 15:28:12 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kurs-datasaens-na-kolenke-o-rabote-v-google-tablicah/</comments>
<description>
&lt;p&gt;В 2022 году проходил курс Алексея Куличевского &lt;a href="https://sheets.smysl.io/"&gt;«Датасаенс на коленке» — о работе в Google-таблицах&lt;/a&gt;: учимся считать метрики, делать сквозную аналитику и когортный анализ, составлять интерактивные дешборды, моделировать юнит-экономику.&lt;/p&gt;
&lt;p&gt;После прохождения курса, я написал Алексею:&lt;/p&gt;
&lt;p class="loud"&gt;Это было очень интересно и полезно.&lt;br&gt;В блоке про когорты, понимаешь что от того как посчитаешь зависит результат. Причём отклонение в небольшую сторону порой дает противоположный результат.&lt;br&gt;Блок про дешборды один из самых интересных, после него понимаешь как устроены связи в таблицах, что из чего можно получить. &lt;br&gt;Самый главный навык, который тренируешь на курсе — умение гуглить. Разбиваешь на маленькие части и гуглишь.&lt;/p&gt;
&lt;p&gt;Алексей выложил видеокурс в свободный доступ на ютубе — 29 уроков.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/kurs-datasaens-na-kolenke-o-rabote-v-google-tablicah.png" width="1302" height="851" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;&lt;a href="https://www.youtube.com/playlist?list=PL2PN33KbuWfwAjsZk27fASuJlqZdMqIMZ"&gt;Бесплатный курс о работе в Google-таблицах — Ютуб плейлист&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Содержание курса&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=NwQRORQSocI"&gt;Урок 1. Google Sheets. Курс для маркетологов и продактов&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=PYwJEKAuyJg"&gt;Урок 2. Типы данных, работа с числами в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=LIq7dZCYpEQ"&gt;Урок 3. Адресация ячеек в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=v-Izd-X0KDM"&gt;Урок 4. Работа с текстом в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=rOWqwZjR_ZQ"&gt;Урок 5. Работа с логическими данными в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=sma2JsywTjY"&gt;Урок 6. Работа с датами в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=n9mm1-Cnz10"&gt;Урок 7. Сводные таблицы в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=H6_lSYsdcpY"&gt;Урок 8. Сквозная аналитика в Google Sheets, принцип&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=78Btb1TbNCQ"&gt;Урок 9. Сквозная аналитика в Google Sheets, практика&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=1VTHDO6aa80"&gt;Урок 10. Когортный анализ в Google Sheets, теория&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=bWsrwjbtZBQ"&gt;Урок 11. Когортный анализ в Google Sheets, практика&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=HoG_otN82kk"&gt;Урок 12. Когортный анализ в Google Sheets, применение в маркетинге&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=BIaJ1B4J9zo"&gt;Урок 14. Юнит-экономика в Google Sheets, теория&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=AosuhzlLuCQ"&gt;Урок 13. Когортный анализ в Google Sheets. Применение в других областях&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=yEH4u7y9kJ0"&gt;Урок 15. Юнит-экономика в Google Sheets, практика&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=okRaSQeVCEw"&gt;Урок 16. Моделирование юнит-экономики, часть 1&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=ny5S-sl1Okc"&gt;Урок 17. Моделирование юнит-экономики, часть 2&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=Gtkz1b6MvUw"&gt;Урок 18. Создание дешбордов. Принцип и алгоритм&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=kLglpTPGaTY"&gt;Урок 19. Дизайн дешбордов в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=4e33Oc3QmpA"&gt;Урок 20. Архитектура дешборда в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=0F773DsQeJ8"&gt;Урок 21. Слой представления | Дешборды в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=2jpgxo9an9c"&gt;Урок 22. План-факт | Дешборды в Google Sheets&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=ADnPhfM28Qw"&gt;Урок 23. Макросы&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=tDtKKEklzBs"&gt;Урок 24. Создаем собственные формулы с помощью Apps Script &lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=ms87u4aaid4"&gt;Урок 25. Обрабатываем массивы данных с помощью Apps Script&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=CGi-8QiLN-I"&gt;Урок 26. Создаем собственные меню с помощью Apps Script&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=Zwca3cjBRy8"&gt;Урок 27. Бизнес-метрики&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=prB-FS0wffE"&gt;Урок 28. Путь пользователя, конверсии и воронки&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=gungYkKqSjM"&gt;Урок 29. Как понять, какие метрики измерять | Снижение уровня абстракции &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;У курса есть платная версия, в которой, помимо лекций еще есть десятки заданий и чат для их обсуждения.&lt;br /&gt;
&lt;a href="https://sheets.smysl.io"&gt;Платная версия курса&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Формат: год — номер недели</title>
<guid isPermaLink="false">546</guid>
<link>https://blog.fossko.ru/all/format-god-nomer-nedeli/</link>
<pubDate>Thu, 21 Dec 2023 09:46:21 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/format-god-nomer-nedeli/</comments>
<description>
&lt;p&gt;Номер недели можно считать не только с какого дня он начинается. Но и на какую неделю приходится первое января.&lt;/p&gt;
&lt;p&gt;В Европе принят стандарт:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://support.google.com/docs/answer/3294949?hl=ru"&gt;Система 2&lt;/a&gt;. Первой неделей года считается та, в которую попадает первый четверг в году. Ее порядковым номером будет 1. В основе этой системы лежит международный стандарт представления дат и времени (ISO 8601).&lt;/p&gt;
&lt;p&gt;И тут начинается интересное: к какому году относить 1 января, когда нудно сделать формат: год-неделя.&lt;/p&gt;
&lt;p&gt;Это видно в 23 году очень хорошо.&lt;/p&gt;
&lt;h2&gt;В гугл таблицах:&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ARRAYFORMULA(
  IF(
    (MONTH(A2:A) = 1) * (WEEKNUM(A2:A; 21) &amp;gt; 50);
    TEXT(YEAR(A2:A) - 1; &amp;quot;0000&amp;quot;) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; TEXT(WEEKNUM(A2:A; 21); &amp;quot;00&amp;quot;);
    TEXT(YEAR(A2:A); &amp;quot;0000&amp;quot;) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; TEXT(WEEKNUM(A2:A; 21); &amp;quot;00&amp;quot;)
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;В PowerBI, DAX:&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;YEAR-WEEKNUM-2 =
VAR CurrentYear = YEAR(&amp;#039;calendar&amp;#039;[date])
VAR IsSpecialDate =
    MONTH(&amp;#039;calendar&amp;#039;[date]) = 1 &amp;amp;&amp;amp;
    WEEKNUM(&amp;#039;calendar&amp;#039;[date], 21) &amp;gt; 50
RETURN
    FORMAT(
        IF(IsSpecialDate, CurrentYear - 1, CurrentYear),
        &amp;quot;0000&amp;quot;
    ) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; FORMAT(WEEKNUM(&amp;#039;calendar&amp;#039;[date], 21), &amp;quot;00&amp;quot;)&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Поиск пересечения столбца и строки через XLOOKUP</title>
<guid isPermaLink="false">544</guid>
<link>https://blog.fossko.ru/all/poisk-peresecheniya-stolbca-i-strok-cherez-xlookup/</link>
<pubDate>Tue, 19 Dec 2023 20:34:41 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/poisk-peresecheniya-stolbca-i-strok-cherez-xlookup/</comments>
<description>
&lt;p&gt;У нас есть большая двухмерная таблица расстояний между городами, раньше такие публиковались в картах.&lt;br /&gt;
Требуется составить формулу для поиска расстояния между городами, то есть пересечения столбца и стоки&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-19.png" width="1021" height="644" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Между Барнаулом и Владивостоком — 5945 км&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Воспользуемся формулой XLOOKUP — возвращает значения из диапазона результатов, находящиеся в той же позиции, в которой было обнаружено совпадение в диапазоне поиска&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/poisk-peresecheniya-stolbca-i-strok-cherez-xlookup-1.png" width="1296" height="888" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Сначала одной функцией получаем массив значений для первого города, потом другой уже в этом массиве ищем значение, соответствующее второму городу.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Итоговая функция&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=IFNA(XLOOKUP(C2;data!$A:$A;XLOOKUP(B2;data!$1:$1;data!$A$1:$GO));&amp;quot;&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://docs.google.com/spreadsheets/d/110kfpsl3Sdzxp9gPIYQ02e7SNlGMtlQ3zBmpPs-xw3A/edit#gid=1785422716"&gt;Получившаяся таблица:  Расстояние между городами России&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Таблица расчета цены фулфилмента</title>
<guid isPermaLink="false">542</guid>
<link>https://blog.fossko.ru/all/tablica-rascheta-ceny-fulfilmenta/</link>
<pubDate>Fri, 15 Dec 2023 13:21:47 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/tablica-rascheta-ceny-fulfilmenta/</comments>
<description>
&lt;p&gt;Переделал таблицу для фулфилмента которой пользуются клиенты и сотрудники организации.&lt;/p&gt;
&lt;p&gt;Фулфилмент —  это организация которая занимается посредником между продавцом и маркетплейсом, оказывает услуги по хранению товара, сборке заказа и его доставке в маркетплейс.&lt;/p&gt;
&lt;p&gt;Таблица — это дашборд с заказами и финансами&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Задача.&lt;/b&gt; Сохранить текущую логику работы таблицы, автоматизировать расчеты.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Этапы работы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Созвон для понимания задачи,&lt;/li&gt;
&lt;li&gt;Работа над таблицей,&lt;/li&gt;
&lt;li&gt;Созвод для презентации работы,&lt;/li&gt;
&lt;li&gt;Получение замечаний,&lt;/li&gt;
&lt;li&gt;Сдача работы.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente.png" width="449" height="227" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Бесцветные ячейки заполняются автоматически мы их не трогаем и не заполняем. Оранжевые ячейки заполняет клиент. Голубые ячейки заполняет фулфилмент. Обязательно зафиксировали это в таблице.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-1.png" width="369" height="444" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Каждый заказ — отдельный лист в таблице&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-2.png" width="893" height="700" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В товарах используют изображение, чтобы корректно работал vlookup, напоминаем, что для вставки изображения в ячейку: курсор ставим на ячейку, Меню — вставка — Изображение — Вставить изображение в ячейку&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-3.png" width="1246" height="797" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Лист «Товары» — база данных товаров данного клиента. Здесь много оранжевых ячеек, значит заполняются они клиентом вручную. Материал упаковки выбирается из рубрикатора, в который можно добавлять новые значения.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-4.png" width="1442" height="528" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Лист «справочник» позволяет поменять основные значения, которые влияют на стоимость&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1587" data-ratio="2.4229007633588"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-17.png" width="1587" height="655" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-5.png" width="1597" height="742" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-6.png" width="1577" height="721" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Собираем готовую таблицу, используя ArrayFormula, VLOOKUP, IFS. Часть ячеек скрыта, так как содержит дополнительную информацию, которая для оперативной работы не нужна.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-7.png" width="1460" height="377" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Формулы не перегружены, чтобы сотрудники фулфилмента могли сами поправить часть данных.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-9.png" width="634" height="664" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если поставить галочку «считаем приемку наборами» итоговая стоимость поменяется из-за изменения подсчета&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-8.png" width="806" height="189" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В первой строке выводится основная информация о заказе: вес, объем, допы, стоимость предварительная и фактическая&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Если вам нужна помощь с гугл таблицами — &lt;a href="https://t.me/fossko"&gt;@fossko&lt;/a&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>Макрос автоматического сохранения csv из экселя</title>
<guid isPermaLink="false">541</guid>
<link>https://blog.fossko.ru/all/makros-avtomaticheskogo-sohraneniya-csv-iz-ekselya/</link>
<pubDate>Wed, 06 Dec 2023 21:26:06 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/makros-avtomaticheskogo-sohraneniya-csv-iz-ekselya/</comments>
<description>
&lt;p&gt;Есть файл состоящий из одного листа ID, нужно автоматически разделить количество строк по 10 и сохранить каждый диапазон в csv файл&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/makros-avtomaticheskogo-sohraneniya-csv-iz-ekselya.png" width="380" height="476" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Cтолбец с ID, которые нужно сохранить в отдельные файлы&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/makros-avtomaticheskogo-sohraneniya-csv-iz-ekselya-1.png" width="1111" height="389" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Делаем через макросы Разработчик — Visual basic.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Parametry-Excel-2023-12-05-23.47.32.jpg" width="925" height="683" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если вкладки «Разработчик» нет, ее нужно включить через настройки: Параметры — Настроить ленту — Разработчик.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Sub SplitAndSave()
    Dim SourceSheet As Worksheet
    Dim NewSheet As Worksheet
    Dim LastRow As Long
    Dim Group As Long
    Dim CurrentRow As Long
    Dim Path As String
    Dim DateTimeStr As String

    &amp;#039; Укажите имя вашего исходного листа
    Set SourceSheet = ThisWorkbook.Sheets(&amp;quot;Лист1&amp;quot;)

    &amp;#039; Укажите путь для сохранения файлов
    Path = &amp;quot;E:\work\csv\&amp;quot;

    &amp;#039; Определите последнюю строку в столбце A
    LastRow = SourceSheet.Cells(SourceSheet.Rows.Count, &amp;quot;A&amp;quot;).End(xlUp).Row

    &amp;#039; Инциализируем переменные
    CurrentRow = 2 &amp;#039; Начинаем с 2, так как, вероятно, у вас есть заголовок
    Group = 1

    Do While CurrentRow &amp;lt;= LastRow
        &amp;#039; Создаем новый лист для текущей группы
        Set NewSheet = Sheets.Add(After:=Sheets(Sheets.Count))
        NewSheet.Name = &amp;quot;Group&amp;quot; &amp;amp; Group

      &amp;#039; Копируем данные текущей группы на новый лист
        SourceSheet.Rows(CurrentRow &amp;amp; &amp;quot;:&amp;quot; &amp;amp; IIf(CurrentRow + 9 &amp;lt;= LastRow, CurrentRow + 9, LastRow)).Copy Destination:=NewSheet.Rows(1)
        
        &amp;#039; Создаем переменную с текущей датой в формате год-месяц-день-часы-минуты
        DateTimeStr = Format(Now, &amp;quot;yyyy-mm-dd-hh-nn&amp;quot;)
        
    &amp;#039; Сохраняем новый лист в виде CSV файла с меткой времени
        NewSheet.SaveAs Path &amp;amp; DateTimeStr &amp;amp; &amp;quot;_&amp;quot; &amp;amp; &amp;quot;Group&amp;quot; &amp;amp; Group &amp;amp; &amp;quot;.csv&amp;quot;, xlCSV

     &amp;#039; Удаляем новый лист, если необходимо
        Application.DisplayAlerts = False
        NewSheet.Delete
        Application.DisplayAlerts = True

        &amp;#039; Переходим к следующей группе
        CurrentRow = CurrentRow + 10
        Group = Group + 1
    Loop
End Sub&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/csv-2023-12-05-23.41.26.jpg" width="746" height="399" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В папку csv загрузились разделенные файлы&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Добавим разбиение с сохранением заголовка из ячейки A1.&lt;br /&gt;
Разбивать будем по RowsPerGroup равном 1400 значений&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Sub SplitAndSaveWithHeaderVariable()
    Dim SourceSheet As Worksheet
    Dim NewSheet As Worksheet
    Dim LastRow As Long
    Dim Group As Long
    Dim CurrentRow As Long
    Dim Path As String
    Dim DateTimeStr As String
    Dim HeaderVariable As String
    Dim RowsPerGroup As Long

    &amp;#039; Укажите имя вашего исходного листа
    Set SourceSheet = ThisWorkbook.Sheets(&amp;quot;Лист1&amp;quot;)

    &amp;#039; Укажите путь для сохранения файлов
    Path = &amp;quot;E:\work\csv\&amp;quot;

   &amp;#039; Определите последнюю строку в столбце A
    LastRow = SourceSheet.Cells(SourceSheet.Rows.Count, &amp;quot;A&amp;quot;).End(xlUp).Row

    &amp;#039; Инициализируйте переменные
    CurrentRow = 2 &amp;#039; Начинаем с 2, предполагая, что у вас есть заголовок
    Group = 1

    &amp;#039; Установите значение переменной заголовка из ячейки A1
    HeaderVariable = SourceSheet.Cells(1, 1).Value

    &amp;#039; Установите количество строк в группе
    RowsPerGroup = 1400

    Do While CurrentRow &amp;lt;= LastRow
       &amp;#039; Создаем новый лист для текущей группы
        Set NewSheet = Sheets.Add(After:=Sheets(Sheets.Count))
        NewSheet.Name = &amp;quot;Group&amp;quot; &amp;amp; Group

       &amp;#039; Вставляем переменную заголовка в первую ячейку нового листа
        NewSheet.Cells(1, 1).Value = HeaderVariable

        &amp;#039; Копируем данные текущей группы на новый лист
        SourceSheet.Rows(CurrentRow &amp;amp; &amp;quot;:&amp;quot; &amp;amp; IIf(CurrentRow + RowsPerGroup - 1 &amp;lt;= LastRow, CurrentRow + RowsPerGroup - 1, LastRow)).Copy Destination:=NewSheet.Rows(2)

       &amp;#039; Получаем текущую дату и время в указанном формате
        DateTimeStr = Format(Now, &amp;quot;yyyy-mm-dd-hh-nn&amp;quot;)

       &amp;#039; Сохраняем новый лист в виде файла CSV с датой и временем в имени файла
        NewSheet.SaveAs Path &amp;amp; DateTimeStr &amp;amp; &amp;quot;_&amp;quot; &amp;amp; &amp;quot;Group&amp;quot; &amp;amp; Group &amp;amp; &amp;quot;.csv&amp;quot;, xlCSV

        &amp;#039; Удаляем новый лист, если необходимо
        Application.DisplayAlerts = False
        NewSheet.Delete
        Application.DisplayAlerts = True

       &amp;#039; Переходим к следующей группе
        CurrentRow = CurrentRow + RowsPerGroup
        Group = Group + 1
    Loop
End Sub&lt;/code&gt;&lt;/pre&gt;</description>
</item>


</channel>
</rss>