Модуль I · IT Skills (Cloud Services & Design) · 120 хвилин · тема 3, урок 1 з 2
Мета. У тебе вже є бриф стартапу. У ньому написано «конкуренти дорогі», «аудиторія велика», «люди готові платити».
Сьогодні кожне з цих речень перетворюється на число, яке можна перевірити.
Числа складуться у файл data/market.csv. З нього на наступному
уроці виростуть діаграми й розрахунок прибутку.
AVERAGE і MEDIAN і, коли вони
розійшлися більш ніж на чверть, ставити в текст обидва числа;$ у формулі так, щоб вона не ламалася при
протягуванні вниз;data/market.csv, де в кожного числа є джерело
в колонці source.Слова «репрезентативність», «викид» і XLOOKUP поки
нічого не означають — розберемо кожне тоді, коли воно знадобиться.
| Етап | Хв | Що робимо |
|---|---|---|
| Звідки беруться дані | 12 | чотири джерела, «я спитав трьох друзів» під мікроскопом |
| Репрезентативність | 18 | схема зміщення вибірки, таблиця похибки за кількістю відповідей |
| Брудна таблиця | 15 | дублікати, пропуски, викиди, різні написання; журнал рішень |
| Середнє проти медіани | 12 | дві шкали, один викид, два різні висновки |
Формули і знак $ | 18 | шість функцій, які реально потрібні; тренажер формул на цій сторінці |
| Джерело кожного числа | 10 | колонка source, файл market-sources.csv |
| Аудит свого датасету | 15 | вставляєш свій CSV — сторінка показує все, що з ним не так |
Практика: market.csv | 15 | чистка, формули, експорт, FTP |
| Автоперевірка й підсумок | 5 | check11 3, латання червоних пунктів |
data/market.csv на кілька кілобайт. Скриншоти таблиці, чернетки
й експорти в .xlsx на сервер не завантажуються — учитель дивиться
саму таблицю очно, на твоєму екрані.Чотири джерела. Кожне відповідає на своє питання і бреше по-своєму.
У брифі з уроку 2 є речення на кшталт «підлітки готові платити за це 150 гривень». Поки за ним нічого немає, це побажання. Дані — це спосіб перетворити побажання на твердження, яке можна спростувати.
| Джерело | На що відповідає | Чого варте |
|---|---|---|
| Власне опитування | чи є проблема, скільки готові платити, чим користуються зараз | єдине джерело, де ти питаєш саме про свій продукт; але описує рівно тих, кого опитав |
| Відкриті джерела Держстат, data.gov.ua, відкриті звіти компаній | скільки людей, якого віку, у якому регіоні, скільки заробляють | велика вибірка й описана методологія; але це вже минулий рік і не про твій продукт |
| Спостереження | що люди роблять насправді, а не що кажуть | ловить розрив між словами й діями; але мала кількість і твоя інтерпретація |
| Аналіз конкурентів | які ціни на ринку вже платять, які пакети існують | ціни публічні й перевіряються; але прайс на сайті ≠ реальний чек |
Спитай трьох людей. «Так» скажуть нуль, один, двоє або всі троє — інших варіантів просто немає. У відсотках це чотири числа: 0 %, 33 %, 67 % і 100 %. Між ними порожньо: значення 45 % три відповіді дати не можуть.
Припустимо, ти отримав 67 %. Скільки людей за межами цієї трійки сказали б «так» — 20 зі ста чи 90 зі ста? Обидва варіанти однаково можливі. Три відповіді не звужують здогадку взагалі.
Смугу, у якій може лежати справжнє значення, називають інтервалом довіри. Тут вона розтягнута на всю шкалу від 0 до 100 %. Рахувати таку смугу ми навчимося на наступному кроці.
Друга біда трьох друзів — вони твої друзі. Вони знають, що ти робиш проєкт, і хочуть, щоб ти не засмутився. Питання «ти б платив 150 грн?» отримує «ну, мабуть» від людини, яка ніколи цього не зробить. Тому в опитуваннях питають про минуле («скільки ти витратив на це за останній місяць»), а не про майбутнє.
Ти питаєш у своєму класі: «Ви б платили 150 грн на місяць за такий застосунок?» 24 з 26 кажуть «так». Що робити з числом 92 %?
Для розділу «обсяг ринку» тобі потрібне число: скільки людей 14–17 років живе у твоєму місті. Звідки взяти?
Кількість відповідей і спосіб їх зібрати — це дві різні речі, і лікуються вони по-різному.
Ти виклав форму опитування в сторіс і зібрав 18 відповідей. Головне питання не в тому, скільки їх. Головне питання — хто взагалі міг на цю форму натрапити.
Сторіс бачать твої підписники. Це переважно люди твого віку, з твоєї школи, з твого району. Однокласниця із сусіднього мікрорайону, яка на тебе не підписана, форми не побачила жодного разу. Вона не відмовилася відповідати — у неї не було такої можливості.
Схема нижче показує це на сотні умовних людей.
У правому стовпчику схеми стоїть скорочення в. п. Це
відсоткові пункти. Ними міряють різницю між двома відсотками.
Дивись на верхній рядок. У місті таких підлітків 30 %, у твоїй вибірці — 83 %. Різниця між ними — 53 відсоткові пункти, скорочено 53 в. п.
Чому не «на 53 %»? Бо «на 53 %» означало б зростання від 30 % до 46 %.
Це зовсім інше число. Різницю двох відсотків завжди рахують у пунктах —
інакше читач не зрозуміє, про що йдеться. Далі на цій сторінці
в. п. стоїть у кожній таблиці похибки.
Тепер про саму схему. Те, що ти на ній побачив, має назву. Вибірку звуть репрезентативною, якщо кожна людина з групи, про яку ти робиш висновок, мала шанс у неї потрапити. Не «однаковий шанс» у побутовому сенсі — просто ненульовий і відомий.
Дві нижні групи на схемі мали шанс рівно нуль. Тому ця вибірка не репрезентативна: вона зміщена. Слово робоче, воно трапиться сьогодні ще не раз.
І найважливіше про зміщення: кількістю воно не лікується. Ще чотириста відповідей із тих самих сторіс не додадуть жодної людини з двох нижніх груп.
| Як зібрали | Кого не спитали | У який бік бреше |
|---|---|---|
| Форма в сторіс твого акаунта | тих, хто на тебе не підписаний | твоє коло однакове з тобою: смаки, гроші, район |
| Опитування на перерві біля кабінету інформатики | тих, хто туди не ходить | завищує інтерес до всього технічного |
| Відгуки на сторінці товару | усіх, кого товар не зачепив | лишаються дуже задоволені й дуже злі, середина мовчить |
| «Хто хоче — заповніть форму» | тих, кому байдуже | відповідають фанати теми, а платять зазвичай не вони |
| Опитування вранці в буднє в торговому центрі | тих, хто в цей час на роботі й у школі | зсув за віком і зайнятістю, а не за думкою |
Тут працює правило, яке зазвичай дивує. Похибка не залежить ані від розміру міста, ані від розміру країни. Тільки від кількості відповідей. Тисяча опитаних дає однакову точність і для Ніжина, і для всієї України.
Рахують її однією формулою: похибка = 1,96 · √(0,25 / n). Тут
n — скільки людей відповіли. Підстав своє n —
отримаєш свій рядок таблиці нижче.
У таблиці показано найгірший випадок. Це коли думки розділилися приблизно навпіл, 50 на 50: саме тоді похибка найбільша. Її беруть із запасом, щоб не пообіцяти більше, ніж дані витримають.
Ще один підпис до таблиці — рівень довіри 95 %. Означає він ось що. Повтори те саме опитування сто разів із новими людьми — і приблизно у 95 випадках зі ста справжнє значення потрапить у показану смугу. У решті п’яти не потрапить. Стовідсоткової гарантії опитування не дає ніколи.
| Відповідей | Похибка | Що це означає для «62 % — за» |
|---|---|---|
| 3 | ±57 в. п. | інтервал ширший за шкалу — числа немає |
| 10 | ±31 в. п. | десь між 31 % і 93 % |
| 30 | ±18 в. п. | десь між 44 % і 80 % |
| 100 | ±9,8 в. п. | десь між 52 % і 72 % — уже видно, що більшість |
| 400 | ±4,9 в. п. | між 57 % і 67 % |
| 1000 | ±3,1 в. п. | між 59 % і 65 % |
| 2000 | ±2,2 в. п. | стільки бере КМІС для всеукраїнських опитувань |
Опитування ти зробив через форму в сторіс власного акаунта і зібрав 400 відповідей. Що з ним головне не так?
Ти зібрав 100 відповідей, 62 % кажуть «готовий платити». Як коректно записати цей результат у бриф?
Чотири типові біди — і чому кожна ламає саме той висновок, який ти хочеш зробити.
Файл market-raw.csv, який ти сьогодні отримав, зібраний як
справжній: щось із форми, щось із сайтів конкурентів, щось дописане вручну.
Тому в ньому є все, що буває в живих даних.
Жодна з бід нижче не оголошує про себе. Файл відкриється, формули порахують, червоних помилок не буде. Просто числа вийдуть не ті.
Тому чистка — це не прибирання заради краси. Це умова, без якої висновок не має сили.
| Біда | Як виглядає | Який висновок ламає |
|---|---|---|
| Дублікати | той самий конкурент двічі; одна людина заповнила форму тричі | завищує кількість і тягне середнє в бік значення, що продублювалося |
| Пропуски | порожня ціна, порожній сегмент, порожній source |
AVERAGE просто пропустить рядок, а COUNT — ні: доля рахуватиметься від різних знаменників |
| Викиди | 4500 грн серед цін 150–320 | одне значення зсуває середнє на сотні гривень і робить твою ціну «дешевою» |
| Різні написання | «школярі», «Школярі», «ШКОЛЯРІ», « школярі» | COUNTIF бачить чотири різні сегменти замість одного |
| Числа-текст | « 200 », 150 грн, 1,5 замість 1.5 |
агрегатні функції мовчки ігнорують такі клітинки — сума менша, і ніде не видно чому |
Останній рядок таблиці вартий окремої зупинки. Числа-текст — найпідступніша з п’яти бід, бо вона нічого не ламає видимо.
Клітинка з написом 150 грн для тебе число. Для таблиці це
слово: у ньому є літери. AVERAGE таке слово мовчки пропустить —
ні помилки, ні попередження.
Ти побачиш красиве середнє, пораховане не по всіх рядках, а тільки по тих, які програма визнала числами. І не дізнаєшся про це ніколи, поки хтось не перерахує вручну.
Перевіряється це за секунду. Числа притискаються до правого краю клітинки, текст — до лівого. Якщо в колонці цін частина значень стоїть ліворуч, це не числа.
raw. Чистиш на копії —
сирі дані має бути з чим звірити.TRIM по всіх текстових колонках: невидимі пробіли з кінця
псують і порівняння, і COUNTIF, і автоперевірку.LOWER або ручний
довідник значень).Ти написав =COUNTIF(B2:B60;"школярі") і отримав 3. Поруч
=COUNTIF(B2:B60;"Школярі") дає 1, а "ШКОЛЯРІ" — ще 1.
Твій висновок «школярів у вибірці троє» — правильний чи ні?
Історія версій показує, що змінилося. Журнал відповідає на питання чому.
Кожна дія на попередньому кроці зменшує таблицю. Через тиждень ти дивишся на 96 рядків і не пам’ятаєш, звідки бралися 120. А на Demo Day питання «чому ви викинули четверту частину даних» звучить обов’язково — і відповідь «здалося зайвим» коштує дорого.
Журнал — це аркуш log у твоїй таблиці або розділ у
CHANGELOG.md. Один рядок — одне рішення, чотири поля:
| Дата | Що зробив | Рядків | Чому |
|---|---|---|---|
| 2026-09-15 | TRIM по колонках name і segment | 120 | пробіли в кінці ламали COUNTIF |
| 2026-09-15 | звів написання сегментів до нижнього регістру | 120 | «школярі» і «Школярі» рахувалися окремо |
| 2026-09-15 | видалив дублікати за парою name + segment | −14 | ті самі курси з двох сайтів |
| 2026-09-15 | видалив рядки з порожнім source | −9 | ціну не було де перевірити |
| 2026-09-15 | 4500 грн → мітка «інша категорія» | 96 | індивідуальний репетитор, не груповий курс |
Ти видалив 14 рядків без джерела й нікому не сказав. За тиждень середня ціна в таблиці не збігається з тією, що на слайді пітчу. Що тебе рятує?
Для цін, доходів і чеків майже завжди беруть медіану. І це не питання смаку.
Середнє ділить суму на кількість: кожне значення тягне на себе. Медіана — це значення посередині відсортованого ряду: половина менша, половина більша. Одне велике число зсуває середнє на скільки завгодно, а медіану — щонайбільше на один крок ряду.
У прикладі вище викид 900 грн підняв середнє з 169 до 315 гривень — на 146 гривень. Медіана зрушила зі 165 до 190, тобто на 25. Якщо ти ставиш ціну «трохи нижче за середню по ринку», то з першим числом це 300 грн, а з другим — 180. Це два різні продукти.
| Показник | Коли доречний | Коли бреше |
|---|---|---|
AVERAGE |
однорідні дані без хвоста: зріст, оцінки, час уроку | ціни, доходи, кількість переглядів — там завжди є довгий хвіст угору |
MEDIAN |
ціни конкурентів, зарплати, чеки, час відповіді | коли значень менше 5 — медіана просто вкаже на одне з них |
| обидва разом | завжди, коли робиш висновок про ринок | — |
Робоче правило. Порахуй обидва числа. Якщо вони відрізняються більш ніж на чверть — у даних сидить викид.
Тоді в текст ідуть обидва. Наприклад так: «медіанна ціна 180 грн, середня 315 — середню тягне один репетитор за 900».
Середня ціна конкурентів — 340 грн, медіана — 120 грн. Що це означає для твоєї ціни?
У списку конкурентів є один за 4500 грн — це індивідуальний репетитор, а не групові курси. Що з цим рядком робити?
Шість функцій закривають майже всю аналітику стартапу на цьому етапі.
| Функція | Питання, на яке відповідає | Приклад |
|---|---|---|
SUM | скільки всього | =SUM(B2:B6) — скільки людей опитано разом |
AVERAGE | скільки в середньому | =AVERAGE(D2:D6) — середній чек по ринку |
MEDIAN | скільки в типового | =MEDIAN(D2:D6) — ціна «посередині» ринку |
COUNTIF | скільки таких, що… | =COUNTIF(D2:D6;">200") — скільки конкурентів дорожчі за 200 |
IF | віднести до групи за умовою | =IF(C2/B2>0,3;"цільовий";"ні") — сегмент цільовий чи ні |
XLOOKUP | підтягнути значення з іншої таблиці за ключем | =XLOOKUP(A2;'сегменти'!A:A;'сегменти'!B:B;"немає") |
COUNTIF(D2:D6;">200"). В англомовному —
комою. Це та сама функція, а не дві різні. Тренажер нижче розуміє обидва варіанти.XLOOKUP і що робити з помилкоюУяви два аркуші. На першому — список конкурентів, і в кожного стоїть код
сегмента: shkolyari, studenty. На другому — довідник:
який код що означає.
Переписувати назви руками ти не будеш: рядків шістдесят, і на третьому
десятку почнуться описки. XLOOKUP робить це сам. Він бере код
із першого аркуша, знаходить його в довіднику й повертає назву з сусідньої
колонки.
Тепер про четвертий аргумент. Коду може не знайтися — ти помилився
в написанні або довідник неповний. Що показати в такому разі, вирішуєш ти:
=XLOOKUP(A2;E:E;F:F;"немає у довіднику"). Текст у дужках
наприкінці і є той четвертий аргумент.
Без нього в клітинці з’явиться #N/A. Так таблиця каже
«не знайшла». Один #N/A ще читається, а колонка з двадцяти таких
лякає і ховає за собою все інше.
Тут багато хто хапається за IFERROR: він замінює будь-яку
помилку на що завгодно, хоч на порожнечу. Спокуса зрозуміла, наслідок поганий.
IFERROR глушить усі помилки одразу — і ділення на нуль,
і зіпсоване посилання теж.
Таблиця після цього виглядає чистою, а рахує неправильно. Четвертий
аргумент XLOOKUP прибирає рівно один випадок, «не знайшлося»,
і лишає решту помилок на видноті.
$: найчастіша помилка при копіюванніВізьми клітинку з формулою, схопи її за правий нижній кут і потягни вниз. Це і зветься «протягнути формулу»: таблиця сама заповнить усю колонку.
При цьому кожне посилання у формулі зсувається на стільки ж рядків. Був
=C2-D2 — у наступному рядку стане =C3-D3. Зазвичай
саме це й потрібно: кожен рядок має рахуватися по своїх даних.
Біда починається, коли у формулі є посилання на одну спільну для всіх клітинку. Курс валюти, комісія, постійні витрати — таке значення лежить в одному місці, і адреса в нього мінятися не повинна.
Але вона поїде разом з усіма. Було B8 з комісією — у другому
рядку стане B9, у третьому B10. А там порожньо.
Множення на порожню клітинку дає нуль.
Лікується це двома символами. Постав долар перед буквою й перед цифрою —
$B$8 — і адреса примерзне на місці. Долар означає рівно одне:
«цю частину адреси при копіюванні не чіпай».
=D2*B8, натисни «скопіювати формулу вниз» і подивись, що опинилося в E3.#DIV/0!. Не шукай помилку в даних: клацни в другу клітинку колонки
й подивись, на що вона насправді посилається.У E2 формула =D2*B8, де в B8 лежить
комісія 0,18. Ти протягнув її до E6 — і в E3:E6 нулі.
Чому?
Поруч із кожним конкурентом треба підтягнути назву його сегмента з другого аркуша за кодом сегмента. Яка функція?
Справжній обчислювач: пишеш формулу — сторінка рахує її по цій таблиці й показує помилки так само, як показала б Google Sheets.
Дані внизу — приклад для тренування, не твій ринок. Колонка
D навмисно містить один дорогий рядок: подивись, що станеться
з AVERAGE і MEDIAN.
Тренажер розуміє числа, посилання A1 і
$A$1, діапазони A1:B6. Розуміє дії
+ − * / ^ і порівняння
> < >= <= = <>. Розуміє текст у лапках.
Функції: SUM, AVERAGE,
MEDIAN, COUNT, COUNTA,
COUNTIF, SUMIF, AVERAGEIF,
MIN, MAX, IF, IFERROR,
ROUND, ABS, CEILING.
#DIV/0! — ділення на нуль або на порожню клітинку.
#VALUE! — арифметика над текстом; спробуй =A2*2.
#NAME? — функції з такою назвою не існує; спробуй
=AVERGE(D2:D6).
Помилка в клітинці — не поломка таблиці, а повідомлення. Читати його швидше,
ніж переписувати формулу навмання.Колонка source — не бюрократія. Це те, що відрізняє
аналітику від вигадування.
Правило модуля просте: число без джерела не йде в презентацію. Не тому, що так суворо, а тому, що на Demo Day перше питання після будь-якої цифри — «звідки вона». Якщо відповідь «здається, десь бачив», далі можна не продовжувати: разом із числом сумнівною стає вся решта роботи.
market.csv рівно з шістьма колонками — для автоперевірки, і market-sources.csv — для людини, яка спитає «звідки».На схемі видно розподіл праці між двома файлами. Розберемо, навіщо їх саме два.
Автоперевірка читає market.csv посимвольно й чекає рівно шість
колонок. Колонка source була б сьомою — вона туди не вміщається.
Викинути джерела зовсім теж не можна. Тоді зникає єдине, чим ти підтвердиш будь-яке число зі своєї таблиці.
Тому джерела живуть окремо, у market-sources.csv. Один рядок
цього файлу — одне число з таблиці: який сегмент, яке поле, звідки взято, якою
датою. Автоперевірка цього файлу не вимагає. Учитель на Demo Day спитає
саме про нього.
source| Погано | Добре | Чому |
|---|---|---|
| інтернет | прайс speakeasy.example, 2026-09-14 | можна відкрити й перевірити |
| опитування | власне опитування 09.2026, n=112, 9 класи школи | видно, скільки людей і кого саме |
| Держстат | Держстат, населення за віком, регіон, дані 2024 | видно рік — читач одразу бачить, наскільки число свіже |
| приблизно | оцінка: 30 % від числа Х, припущення таке-то | оцінка теж має право бути, якщо чесно названа оцінкою |
Спільне в правій колонці одне: за таким записом число можна знайти вдруге. Є адреса сайту й дата — відкрив і звірив. Є кількість опитаних і хто вони — видно, чого вартий відсоток. Є рік у статистиці — видно, наскільки число застаріле.
Слово «оцінка» в цьому списку не соромне. Соромно видавати оцінку за виміряне число. Напиши прямо: «оцінка: 30 % від числа Х» — і претензій не буде.
source не потрапляє в market.csv
Автоперевірка check11 3 звіряє заголовок
market.csv посимвольно: там рівно шість колонок і жодної зайвої.
Тому в робочому аркуші колонка source є завжди.
А на сервер їдуть два файли. data/market.csv — для перевірки
й розрахунків. data/market-sources.csv — для людини, яка спитає
«звідки».
Другий файл автоперевірка не вимагає, але на Demo Day він і рятує.На слайді пітчу написано «Ринок — 12 млн грн на рік». Учитель питає: звідки це число. Яка відповідь найсильніша?
Встав свій CSV — сторінка знайде те саме, що шукав би вчитель, і покаже, як від кожного виправлення поїдуть середнє й медіана.
Правила ми розібрали. Тепер найшвидший спосіб побачити, що з твоєю таблицею не так, — показати її сторінці.
У полі вже лежить навчальний брудний приклад. Натисни «Перевірити» й подивись на список.
Далі вставляй свій файл — той самий, з якого робиш
market.csv. Дані нікуди не надсилаються: увесь розбір
відбувається у твоєму браузері.
Перший рядок — заголовок. Роздільник визначається сам (кома або крапка з комою). Числову колонку для середнього й медіани можна вибрати нижче.
Твій market.csv готовий, але margin ти вписав
руками — швидше було порахувати в голові. Що станеться?
data/market.csvВиконуй по черзі. Галочки зберігаються — сторінку можна закрити.
~/upload/, а звідти в ~/www/data/
їдуть тільки market.csv і market-sources.csv —
два текстові файли на кілька кілобайт. Сама таблиця, скриншоти і
.xlsx на сервер не завантажуються.shkolyari;150,5. Парсер уроку чекає
shkolyari,150.5. Обирай «Формат CSV (розділений комами)» і заміни
десяткові коми на крапки до експорту.segment, і посимвольна звірка падає з
повідомленням, у якому все виглядає правильно. Google Sheets → «Завантажити →
CSV» BOM не додає; якщо файл усе-таки з BOM, перезбережи його в редакторі
як «UTF-8 без BOM».> market.csv
у Windows PowerShell 5.1 дає UTF-16 — парсер такий файл не прочитає взагалі.
Пиши | Out-File -Encoding ascii market.csv, а для кирилиці в
market-sources.csv —
[IO.File]::WriteAllText($p,$t,(New-Object Text.UTF8Encoding $false)).Приклад заповнення: числа тут ілюстративні, у тебе будуть свої.
Постійні витрати в цьому прикладі — 4000 грн/міс, тому
break_even_units = CEILING(4000 / margin): 4000/110 = 36,4 → 37.
check11 3Перша частина теми 3. Друга частина
(analytics.html) — на уроці 4. Спроби не обмежені.
Демонстраційний режим: результат згенеровано для показу. На сервері
ця кнопка викликає check11 3, який парсить твій CSV
модулем csv, звіряє заголовок і перераховує margin
для кожного рядка.
margin_calc перевіряє
abs(margin − (price − variable_cost)) < 0,01 у кожному рядку.
Якщо хоч один margin вписаний руками й відстав від зміненої ціни,
пункт лишиться червоним і роботу поки не приймуть. Спроби не обмежені:
заміни число формулою й натисни перевірку ще раз.
Це не прискіпливість. Рівно так само на уроці 4 зламається
break_even_units, а на Demo Day — цифра на слайді.$H$1, а не H1;raw із сирими даними і аркуш log
із журналом чистки;Це те, що бачить учитель, коли виставляє оцінку.
| Складник | Вага | Результат |
|---|
$: перший рядок правильний, решта колонки — нулі.;, а десятковий — кома.COUNTIF рахує окремо, автоперевірка бачить дублікат.market.csv до стану, коли всі пункти автоперевірки зелені.CHANGELOG.md датований запис із журналом чистки:
скільки рядків було, скільки лишилося, три головні рішення й причина кожного.data/market-sources.csv: для кожного числа з
market.csv — рядок «сегмент, поле, джерело, дата».market.csv будуємо зведену таблицю «сегмент × канал».
Далі підбираємо діаграму під питання — і вчимося ловити діаграми з обрізаною
віссю, які брешуть картинкою.
Потім рахуємо маржу й точку беззбитковості. Наприкінці публікуємо
analytics.html із діаграмою просто в коді сторінки й трьома
висновками. У кожному висновку — число з твоєї таблиці.Усе, що можна перевірити, — з документації, стандартів і опублікованих методологій. Перевіряти дозволено й корисно.
SUM, AVERAGE, MEDIAN,
COUNTIF, IF, XLOOKUP — довідка
Google Таблиць.
support.google.com · список функційXLOOKUP і аргумент «якщо не знайдено» — довідка Microsoft.
support.microsoft.com · XLOOKUP#DIV/0!, #VALUE!,
#NAME?, #N/A — довідка Microsoft.
support.microsoft.com · виправлення помилок у формулахПовний список із поясненнями, що саме взято з кожного
джерела, — у файлі urok-03-джерела.md поруч із цією сторінкою.
Назви компаній, ціни конкурентів і числа опитувань тут — навчальний
приклад, складений автором уроку. Перевіряються тільки формули й методи,
а не самі числа.