Уроки Excel
5 постов
5 постов
Мне по-доброму интересно - вы вот с этими своими претензиями и закачкой прав - какая ваша объективная ценность? Понятно, что вам не нравится зонтичное отношение к зумерам, но оно не на пустом месте взялось - так-то если, по-честному.
Вы же прекрасно понимаете, что это маятник от крайности к крайности - с одной стороны у нас выдуманные заболевания, с которым зумер просто не способен приходить на работу вовремя (мне лень искать видос, но он легко гуглится), а с другой - реальный беспредел работодателей, которые чего-то там требуют.
Правда же где-то посередине. С одной стороны, вы не достигните ничего, будучи супер-принципиальными в одну сторону. С другой стороны, чего-то достигать, работая на описанной должности в КБ ну наверное вряд ли возможно. С одной стороны, вы тыкаете работодателя в закон, когда он перегибает, с другой - вы же сами не выдержите, если вас реально заставить работать по закону. Неужели вы реально думаете, что все работает только в одну сторону? Это не так.
Почему не качают права какие-нибудь руководители отделов средней руки в крупных компаниях, несмотря на то, что переработок там не меньше, а зачастую значительно больше? Почему постоянно слышится голос именно представителей низкоквалифицированных профессий? Наверное, потому, что вы не воспринимаете эту работу, как нечто, чему вы готовы посвятить свою жизнь и энергию. Это временно и поэтому можно относится к этому соответствующе. И это взаимно.
Я тут какбы в равной степени противник крайностей с обеих сторон. Хотя - уже готов к минусам от простых работяг.
Ну чтож, если вы заждались новый выпуск, то вот он. Сегодня мы будем говорить об одной из самых проблематичных для изучения (по опыту) формул, которая, тем не менее, несет в себе огромный потенциал для работы с данными. Итак...
ВПР() , ГПР()
Да, дорогие друзья, это тот самый легендарный Вэпээр, о котором говорят с придыханием девочки из бухгалтерии. Ладно, давайте к серьезному
Для чего используется? Для поиска данных в массиве по условию.
Звучит крайне криво - как и все околонаучные определения - но в самом Экселе определение еще хуже, так что... Так что давайте традиционно разбирать на конкретных примерах, потому что без этого реально тяжело.
Сначала самый базовый пример. Допустим у вас есть простейшая табличка из трех столбцов, в одном из коротых указана модель ноутбука, в другом - цвет корпуса, а в третьем - диагональ экрана. Ну вот такая:
Табл.1
И у вас есть задача сделать что-то типа шаблона ценника, который можно будет быстро распечатать, подставив в него только нужную модель - а все остальные характеристики чтобы подтягивались автоматически. Вот тут вам и пригодится наша сегодняшняя формула ВПР().
Табл.2 Пишем формулу в ячейке С17
Давайте разберем, как именно пишется ВПР(). В ней четыре блока, разделенных точкой с запятой.
Первый блок - условие, то есть то, что мы будем искать. Обратите внимание, столбец с условием должен быть левее столбцов с теми значениями, которые мы будем подставлять - это крайне важно, потому что иначе формула просто не работает. Только слева-направо!
Второй блок - это массив, в котором мы будем искать данные. Воспринимайте его как набор столбцов в рамках данной формулы, так будет чуть легче. Я рекомендую всегда выбирать массив именно столбцами, не ограничивая себя строками без необходимости. И не забывайте фиксировать массив (знаки $ перед буквами) - это крайне важно в большинстве случаев.
Третий блок - это номер столбца относительно начала массива, из которого будут подставляться данные. То есть в нашем примере "Диагональ экрана" - столбец D - это третий столбец массива, "Цвет корпуса" второй, "Модель" - первый.
Четвертый блок - это "точность" поиска. Если честно, мне не приходилось сильно эксперементировать с этим параметром, поэтому я рекомендую ставить его всегда 0 (ноль). В этом случае формула будет искать точное соответствие. С помощью неточного соответствия (единичка) в теории можно заставить формулу искать похожие значения, но одно "но", о котором я расскажу чуть позже, которое делает данную функцию не слишком полезной.
Важно помнить, что массив, из которого мы будем подставлять данные, должен удовлетворять определенным правилам. Главное из которых - в столбце, который мы выбираем условием (крайний левый) не должно быть дубликатов. Ну то есть теоретически дубликаты в нем могут быть, но тогда значения у этих дубликатов также должны быть одинаковыми.
Поясню все на том же примере - допустим, у вас есть ноутбук модели AS650HP, который кто-то не очень аккуратный занес в табличку дважды и с разными диагоналями. Такого не может быть - ну потому что модель одна, и второго размера экрана у нее не существует. Явная ошибка. Но - формула ВПР() об этом не знает. И она возьмет из таблицы то значение, которое находится выше. То есть в данном случае 16 дюймов, что (допустим) неправильно. Сколько бы ни было строчек с одинаковым условием - формула всегда берет верхнюю.
Табл 3
Помните СУММЕСЛИМН() формулу? Вот она адекватно реагирует на повторяющиеся условия, она собственно для этого и создана. ВПР() же создана для вставки одного конкретного значения. И тут мы подходим к основной функции этой формулы - так называемому приему мэппинга.
Что интересного можно сделать с этой формулой?
Итак, о мэппинге. Я так называю процесс простановки некоего соответствующего параметра из одной таблицы в другую, которую необходимо определенным образом упорядочить и обработать. Чаще всего это делается тогда, когда не хочется проставлять около каждой из 100500 строчек какой-то параметр вручную или же в теории он может измениться в будущем.
Давайте придумаем что-нибудь базовое - ну вот например, если дополнить табличку из примера выше пометкой "в наличии", то можно будет рассортировать список заказов на те, которые мы сможем выполнить, и те, которые не сможем. Но чаще всего подобное используется для создания более сложных классификаторов. Например, для переложения бухгалтерского учета в управленческий, если это не автоматизировано в учетной программе, можно написать мэппинг, в котором статье из бухгалтерского учета будет соответствать статья управленческого.
Мэппинги, естественно, можно строить как по одному условию, так и по нескольким. В этом вам поможет ранее изученная формула "СЦЕПИТЬ". Например, представим что покупатель говорит "я хочу красный ноутбук с диагональю 14 дюймов, есть у вас такие?" - и мы, забив в наш шаблон эти два параметра и пробив пару формул отвечаем "да, вот такая модель в наличии".
Табл.4
В качестве условия для ВПР() может служить совокупность любых ячеек, которым вы сможете поставить что-либо в соответствие. Главное, чтобы эта совокупность была уникальна.
Важно понимать, что в третьем блоке в качестве номера столбца может также быть заведена формула. Мне не хочется слишком сильно ломать вам голову, но все же - изучим еще одну небольшую формулу. Она называется ПОИСКПОЗ(). Работает следующим образом - выбираем в первом блоке что искать, во втором обозначаем массив, где искать, и далее указываем, как ищем (-1 - самое ранее, 0 - первое, 1 - последнее).
Табл.5
Соответственно в этом примере формула найдем там значение "Модель" в массиве из пяти ячеек, и оно будет равно 2 - потому что это вторая ясейка массива. Как думаете, как можно это применить, чтобы упростить себе задачу в шаблоне из нашего примера?
Табл.6
Да вот так - мы просто делаем наименования полей нашего "шаблона ценника" такими же, как наименования столбцов в исходной таблице и далее вставляем ПОИСКПОЗ() в формулу ВПР(), наводясь на (зафиксированный!) массив из пяти ячеек. В каждом случае номер ячейки, которую найдет ПОИСКПОЗ() будет соответствовать номеру столбца для ВПР().
Таким образом например можно формировать всякие заявления, в которых нужна ФИО, должность, табельный номер или еще что-то, если это не автоматизировано.
***
Ну а на этом я с вами прощаюсь. Задавайте вопросы, комментируйте, учитесь, тренируйтесь.
Вот знаете мы все время переживаем за "престиж" учителей, но почему-то забываем про вот эту вот профдеформацию, когда они начинают реально думать, что не могут быть не правы. И извиниться за свои действия не способны просто по факту.
Вот вам история из моей школьной жизни, давно это было, но помню как сегодня. Я болел. Но в школе сказали - всем сдать сочинение. Я написал (на двойном листочке, это было 20 лет назад) и попросил одноклассницу Иванову сдать его за меня, мы не так далеко жили. Выздоравливаю, выхожу, раздают сочинения, у меня стоит "два". Я подхожу и задаю резонный вопрос - почему? Мне ответ - ты списал все у Ивановой. Я разворачиваюсь, закрываю погромче дверь и иду на следующий урок.
Поясню свои действия. Я был отличником. Никогда ни у кого не списывал, списывали у меня. Училка это знала прекрасно, пусть и учила нас что-то около года. Иванова была классическая симпотичная двоечница, очень глупая. Списано сочинение было слово в слово до запятой, только два абзаца поменяны местами - как потом я увидел.
В итоге на перемене побегает ко мне Иванова и говорит "я во всем призналась, Нина Ивановна говорит, чтобы ты подошел, извинился и тогда тебе поставят четверку". Я естественно не подошел. Двойку исправили, не помню уже на что. Училка передо мной не извинилась.
Дык а можно уточнить, дорогой автор, вот представь себе, что исполнители теракта в Беслане были бы изначально известны, и, чтобы их ликвидировать, потребовалось бы, скажем, заминировать их телефоны. Ну вот посовещались серьезные люди и поняли, что так наиболее эффективно.
Вопрос к тебе - ты бы их тоже защищал или как?
Ну то есть я понимаю в целом твою точку зрения, что над преступниками должен быть справедливый суд, доказательства там, адвокаты - я полностью с тобой в этом согласен. Но террористы - это все таки особая категория преступников. Это люди, которые открыто говорят "мы хотим, умеем и будем сеять смерть во имя (вставьте нужное, но обычно слово из шести букв)". И я наивно полагаю, что если ты подобное заявил - ты сам вывел себя за рамки цивилизованного процесса.
Разве нет?
Ну что, рубрику я продолжаю. Уже даже появились два человека, которые "ждут" моих постов - я не знаю, что это за новый функционал, но раз написано, что ждут, я не могу их подвести) Сегодня мы будем говорить об одной из самых важных и нужных формул в Excel. Она поможет вам делать удобные таблицы, анализировать, проверять и многое-многое другое. И имя ей...
СУММЕСЛИ(), СУММЕСЛИМН()
Мне тихонько намекнули под предыдущим постом, что СУММЕСЛИ() - формула устаревшая, и вообще не нужно ее разбирать. Я с этим комментатором согласен, и поэтому немного поменяю концепцию занятия...
Для чего используется? Для суммирования массива числовых значений, обладающих одним или несколькими выбранными признаками.
Звучит несколько кривовато и сложно. И нет, это не определение из мануала, это мое определение. Проще объяснить на практике. Напоминаю, что таблицу в любом примере я рекомендую представлять размерностью в 10.000 строк =)
Табл.1 Есть условный реестр данных - сколько продано товара в каждом городе за некий период времени, с дополнительной разбивкой на две категории - фрукты и овощи
Например, нам нужно быстро просуммировать, на какую сумму было продано каждого конкретного продукта. Не вопрос, пишем формулу...
Табл.2 Сложновато на первый взгляд? Сейчас уточним
Итак, формула СУММЕСЛИМН() состоит из нескольких блоков, разделенных точкой с запятой. В данном случае их три, может быть больше, но меньше быть не может - дальше станет понятнее, почему. Итак, первая составляющая - это так называемый диапазон суммирования, то есть наш массив числовых значений. Вторая составляющая - диапазон условия - или тот массив, в котором мы будем искать данные, совпадающие с условием. В нашем случае это наименование товара. Ну и третья составляющая - собственно, условие - это то, что мы будем искать в диапазоне условия. Условие может быть прописано ссылкой или вручную - по традиции, текст в кавычках, числа просто так.
Диапазоны условия и суммирования должны быть равны по размеру - это критично, иначе не сработает ничего. Принцип работы примерно следующий: допустим, мы ищем Яблоки. Формула пробегает по диапазону условия и выбирает из диапазона суммирования значение, которое стоит в соответствующей строчке (или столбце). Эти столбцы не обязательно должны быть смежными. Для примера сделаем то же самое, но по Категории товара:
Табл 3. То же самое, но столбцы не смежные. Можно то же самое сделать и для строк, если у вас таблица горизонтальная
В качестве небольшого лирического отступления скажу, что вот в таком формате - с одним условием - формула СУММЕСЛИМН() функционально полностью идентична СУММЕСЛИ(). Последняя может быть описана как упрощенная ее версия, содержащая в себе только одно условие. Ну и составляющие в ней будут в другом порядке. Не запоминайте - все равно она устарела.
А теперь перейдем к самому интересному - к тому, что и превращает сегодняшнюю функцию в мощнейший инструмент для работы. Указав одно условие, вы можете продолжить писать формулу, добавляя еще условия. Честно - не уверен, сколько можно сделать максимально, но десяток можно точно. Не думаю, что вам потребуется столько. Как это работает? Да вот так:
Табл.4 Два условия.
Логика формулы будет проста - если она одновременно находит в одном диапазоне Саратов, а во втором - Фрукты, то значение из этой строки отправляется в сумму. Учтите, что условия равнозначны и должны выполняться одновременно. То есть формула не будет сначала проверять на первое условие, а затем на второе, в отличие от нескольких ЕСЛИ().
Что интересного можно сделать с этой формулой?
Ну например в качестве условия можно использовать значения больше/меньше. Для этого мне придется испортить столбец "Категория" и проставить в нем какие-то цифры для примера - ничего лучше я не придумал.
Табл.5 К слову, диапазон условия может совпадать с диапазоном суммирования. Например, таким же образом можно просуммировать все значения больше или меньше определенного уровня выручки
Единственная проблема в этом случае будет в том, что условие нужно будет либо указывать в кавычках, аналогично тексту в формуле СЦЕПИТЬ() из предыдущего урока, либо делать ссылки на ячейку, в которой будет написано ">=10" без кавычек. Это тоже работает.
Еще в качестве условия можно использовать маску, либо количество символов. Маска - это часть слова или кода с любым количеством символов с одной или с двух сторон, которые обозначаются знаком *. Например, маска *волк* найдет и "самоволку" и "волкодава". Количество символов можно задать с использованием вопросительного знака. Например ????? будет означать слово или код из пяти символов. Эти приемы можно комбинировать, например *???* будет искать значение минимум из трех символов.
Табл.6 Пример работы маски "минимум три символа". Ёж в сделку не входил
Ну или вот ближе к нашему примеру исходному - если бы у нас были Москва и Московская область, например, то их можно было бы просуммировать как-то так:
Табл.7
Таким образом можно создавать продвинутые отчеты, которые будут "таскать" вам в удобном формате данные из какого-нибудь массива - например, из оборотки 1С, которую необходимо каждый месяц выгружать и показывать динамику продаж или еще что-нибудь. При появлении новых позиций вам не придется наводить на них ссылки вручную - достаточно будет всего лишь добавить новое условие и скопировать формулу.
Лирическое отступление номер два. Обратите внимание на закрепление диапазонов в большинстве моих примеров. Не забывайте, что если вы хотите таскать данные из единого массива, то его нужно зафиксировать. То же самое касается и диапазона условий. А вот если вы ссылаетесь на ячейки со значениями условий - тут уже думайте сами, необходимо вам фиксировать что-то или нет. Бывают ситуации, когда диапазон суммирования будет "плавающий" - например, у вас матрица выручки помесячно, и вы хотите подвести итог внизу по категориям. Тогда вы будете фиксировать диапазон суммирования только по вертикали.
***
А на этом я с вами прощаюсь до следующего выпуска. Сегодня формула была одна - но зато какая! Вы будете удивлены, какое количество людей не умеет правильно пользоваться подобными инструментами. На самом деле конечно ни прочтение поста, ни прохождение курсов не сделает вас мастером Экселя. Главное - использовать изученное в ежедневной работе или хобби. Без этого смысла не будет. Учтите этот банальный момент.
ну и как всегда - пишите комментарии, предлагайте, о чем еще написать, пишите задачки, может чего подскажу
Ну что ж, в предыдущем выпуске мы говорили про довольно простые формулы, а в этом... Мы будем продолжать говорить про простые формулы. Тут конечно же стоит уточнить, что все относительно. В этот раз мне хотелось бы немного коснуться темы форматирования в Экселе и различных формул, которые позволяют доставать и/или добавлять ту или иную информацию.
=ДЕНЬ(), МЕСЯЦ(), ГОД(), ДАТА()
В моей работе частенько приходится сталкиваться с необходимостью оценки тех или иных показателей в динамике. К сожалению, разные программы содержат в себе очень разные форматы предоставления данных, и такая простая штука, как дата, зачастую присутствует либо в текстовом формате, либо в чем-нибудь похуже. Так что давайте потренируемся, что можно делать с датами.
Для начала хочу напомнить, что 0 (ноль) в формате даты в Эксель будет выглядеть следующим образом: 00.01.1900 - то есть "нулевое января 1900-го года". Соответственно, любая дата будет представлять собой в числовом формате количество дней от этой даты. Вбейте 05.01.1900 и переведите в числовой формат, чтобы проверить, что я вас не обманываю.
Для чего применяется? Обозначенные выше формулы - например, ДЕНЬ() - позволяют "вытащить" из даты, записанной в любом формате, необходимое значение.
Вот несколько примеров по-разному записанных дат, на которые вполне себе работают формулы ДЕНЬ(), МЕСЯЦ(), ГОД()
К слову, то же самое будет актуально для формул ЧАС(), МИНУТЫ() и СЕКУНДЫ(). Не будем останавливаться на том, как они работают.
Что интересного можно сделать с этой формулой?
"Развернутую" на месяц, день, год дату можно "свернуть" с помощью функции ДАТА(), указав последовательно год, месяц и день.
Только вот здесь значения должны быть уже четко в числовом формате. Если нечаянно попадется текст, содержащий лишние символы (например пробел), то результатом будет ошибка.
Учтите, что даты в любом формате можно вычитать друг из друга, дабы получить продолжительность периода между ними. Он будет всегда в днях. Даже если вы решите отформатировать ячейки так, чтобы в них был только месяц и год.
Ну вот в ячейках D10 и D9 внесены даты и отформатированы именно таким образом. Только в одной это 10.01.1900, а во второй 15.01.1900. И все равно формула считает дни, в не месяцы
Учтите, что даты формата 00.ХХ.ХХХХ и ХХ.00.ХХХХ Эксель не воспринимает при занесении вручную и выдает ошибки при попытке "вытащить" из них что-либо. Так что для того, чтобы поставить 00.01.1900 мне пришлось внести в ячейку именно 0, а потом сменить формат на "Дата". Только так.
Существует также ленивая функция ДАТАЗНАЧ(), которая может помочь вам в быстром преобразовании криво занесенных дат - в основном, в текстовом формате. Для работы с этой формулой не нужно никаких дополнительных условий - просто наведите на нужную ячейку, и возможно произойдет волшебство. Но я бы сильно на результат не рассчитывал.
Самое интересное, что с помощью простого знака "+" можно совместить дату и время. Вы знали о таком? Я узнал совсем недавно.
Это просто и прекрасно
=СЦЕПИТЬ()
Мы подходим к одной из самых полезных формул для многих видов задач. И я настоятельно рекомендую отнестись серьезно к этой части "урока". Не болтать на задней парте!
Для чего применяется? Для объединения нескольких значений в одно.
Слева - наш, "отечественный" вариант сцепки через слово "СЦЕПИТЬ" и далее поля перечисляются через точку с запятой. Справа - иностранный вариант, через значок "&". Если вам не лень переключать раскладку клавиатуры - используйте его. Разницы никакой.
Что интересного можно сделать с этой формулой?
Ну, для начала, помимо сцепки значений из ячеек, в формуле можно прописать вручную дополнительные значения. Например, запятые или пробелы.
А лучше - запятые с пробелом!
Если вы хотите добавить в сцепку текст, пишите его в кавычках. Если числовые значения - то без кавычек. Помните, что дату вы просто так не добавите.
Почему такой результат? Читаем выше. Еще выше.
Вы спросите - а как же добавить дату в "нормальном" формате? С помощью функции ТЕКСТ(), которая позволяет переформатировать все что угодно во все что угодно. Буквально. С ее помощью можно добавлять и убирать знаки после запятой, промежутки между разрядами и так далее.
Ну вот так. ДД.ММ.ГГГГ - это собственно формат вывода данных. Его написание можно "подсмотреть" в меню "Формат ячеек" > "(все форматы)"
Вариантов применения данной формулы - на самом деле великое множество. Вот некоторые идеи:
- Создание шаблонов текстов с изменяющимся ФИО ("Я, <ячейка с ФИО>, находясь в здравом уме и трезвой...")
- Создание уникальных кодов для мэппинга (часто используется с формулами ГПР() и СУММЕСЛИ(), о которых мы будем говорить позднее)
- Создание адресов и/или ссылок на файлы и папки
***
На этом я с вами прощаюсь. Перегрузки информацией не будет. Все посты по Эксель я объединил в серию, чтобы вам было удобнее читать (наверно).
И я вас снова приветствую. Если вы читали мой предыдущий пост, то знаете, что я уже много лет работаю с Экселем в рамках своей специальности и хочу немного продвинуть - насколько это возможно - знания об этой отличной программе. И сегодня мы поговорим о том, какие же формулы должны, что называется, от зубов отскакивать.
Этой мой личный набор, который, вероятно, растянется на несколько постов. И дело не столько в количестве конкретных формул, сколько в том, что я хотел бы посвятить чуть больше времени тому, каким образом лучше каждую из них применять. Я не буду погружаться в совсем уж дебри, но постараюсь накидать побольше интересного. Ну что, погнали - начнем с простого...
=СУММ()
Вы будете смеяться, но как-то ко мне пришел стажер лет 20-ти, и когда я попросил его сложить соседние ячейки в Экселе, он начал писать "=A10+A11+A12". Тру стори. Так что давайте разберемся с одной из самых простых формул - формулой суммирования.
Для чего применяется? В основном для суммирования смежных ячеек. Помимо этого, в скобках через точку с запятой можно прописать несколько диапазонов для суммирования.
Пример 1 - вам понадобилось посчитать выручку магазинов, принадлежащих одному человеку из зафиксированной (по каким-то причинам) табличной формы.
В примере 1 мы выделяем нужные диапазоны и "протягиваем" формулу вниз. По итогу у нас получатся требуемые суммы на каждый день. Если вам кажется, что ровно такого же эффекта можно было бы добиться, написав "=C5+D5+F5" - вы будете правы, однако, я рекомендую всегда представлять себе, что таблица в примере состоит из 10 000 строк и 10 000 столбцов. Правда, в этом случае пришлось бы пользоваться совсем другой формулой, и о ней мы еще когда нибудь поговорим.
Здесь и далее: "протягиваем" - означает копируем формулу по вертикали или горизонтали. Далее пишу без кавычек. Для протягивания можно использовать как простое копирование, так и буквальное "протягивание" за угол ячейки. Но я не рекомендую привыкать ко второму - оно может сыграть с вами злую шутку при наличии скрытых ячеек и/или фильтра.
Что интересного можно сделать с этой формулой?
Ну для начала, ее можно использовать, когда есть необходимость посчитать сумму накопительным итогом - для этого фиксируем первую ячейку диапазона суммирования и протягиваем формулу вниз.
Если зафиксировать первую ячейку диапазона по вертикали (значок $ стоит перед цифрой, перед буквой пусто), то при протягивании мы получим в каждой последующей ячейке сумму всех предыдущих включительно.
Также можно использовать формулу для того, чтобы прибавить некую составную константу к ряду значений. Вдруг вам лень нарисовать еще одну формулу суммы?
Довольно далекий от практики пример, но если вдруг быстро нужно что-то прикинуть, можно и так - чтобы не делать дополнительных действий. Фиксируем диапазон с "расходами" с обеих сторон (значки $ как перед цифрой, так и перед буквой) и протягиваем.
=СЧЁТ()
Да, в русском Экселе буква Ё используется, и об этом нужно помнить. И вот тут у нас еще одна довольно простая формула, у которой, тем не менее, есть немало применений.
Для чего применяется? Для подсчета количества числовых значений в ячейках.
Выделили диапазон, получили результат - одиннадцать ячеек содержат числовые значения. Поставили две буквы "Х" в диапазон для проверки, количество числовых значений уменьшилось на 2 и равно девяти. Работает.
Что интересного можно сделать с этой формулой?
Ну например с помощью нее можно попробовать найти нечисловые значения в массиве данных. Как? Ну например вот так - я "спрятал" одно текстовое значение среди числовых из предыдущего примера:
Если протянуть формулу счёта аналогично тому, как мы протягивали формулу суммы для расчета накопительного итога, то в месте "ошибки" (т.е., нечислового значения) она выдаст "повтор".
Под повтором понимается результат - семь - то есть на диапазоне С5:С11 было семь числовых значений и на диапазоне C5:C12 было столько же. Таким образом, ошибка в ячейке C12. Способов поиска ошибок в данных великое множество, и в моей профессии все они пригождаются время от времени. Этот конкретный может показаться вам излишним, но поверьте - если нужно найти проблему в массиве на 30-50 тысяч строк, то лучше иметь все инструменты под рукой.
Еще одно полезное применение данной формулы - вычисление среднего арифметического из массива данных. Вы конечно всегда можете воспользоваться функцией СРЗНАЧ() или СРЗНАЧА(), но иногда удобнее нарисовать формулу самостоятельно. Общий вид ее будет такой:
=СУММ(массив1)/СЧЁТ(массив1)
Если сделать это накопительным итогом, то у вас получится этакое "накопительное среднее" - я хз есть ли для этого научный термин, но штука полезная для аналитики. Ближаший аналог - скользящее среднее, но оно немного попроще. К слову, с помощью этой формулы можно и его реализовать.
***
На самом деле, сегодня мы с вами на этом закончим. Две формулы, причем довольно простые. Но текст получился довольно объемный. Настоятельно рекомендую попробовать все описанное в нем, если это применимо к вашей работе. Ну или к хобби) А вот уже дальше мы с вами поговорим про такие страшные функции, как СУММЕСЛИ() и СУММЕСЛИМН(), про жуткие ВПРы и ГПРы, ну а потом и про ПОИСК(), ЗАМЕНИТЬ() и много чего еще. Но самое сложное лежит в умении их комбинировать - сегодня мы рассмотрели одну простую комбинацию, дальше будет сложнее.
Ну вот вам комментарий немного "изнутри"
Первое - уточняем, что "Ксарелто" - это не германский, а отчетственный, произведенный на заводе компании Полисан. Статья по ссылке заказная, в ней указано, что производство по полному циклу. Предполагаю, что это не совсем так, хотя в таблетках ничего сложного по составу нет, все стандартно.
Второе - далеко не одна компания готовится делать дженерики Ривароксабана в России, по полному циклу. Но патент там до конца 2024. Обычно совсем уж жестко напрямую нарушать никто не берется. Хотя прецеденты были.
Третье - белорусский Лекфарм зарегистрировал Ривароксабан-ЛФ датой 20 февраля 2024 года. Так что вам в некоторой степени повезло - либо эту лавочку скоро прикроют, либо в Беларуси реально всем на все наплевать. К слову интересно, что белорусских аптеках "мирно" сосуществуют оригинатор за 100500 рублей и дженерик за ничего.
Если вас интересует ситуация в целом - то она абсолютно обычная для фармацевтики. Дженерики стоят в разы дешевле, чем оригинальный препарат, при этом состав и эффективность абсолютно такие же. Обычно это вызвано тем, что производитель, разработавший препарат, отбивает деньги на его разработку, клинические и доклинические исследования, регистрацию, и так далее. Эти затраты не мифические, они существуют, они зачастую очень рискованные. Отсюда высокая цена.
Как человек, работающий в фарме, скажу вам еще одну важную деталь - производители сами не торгуют препаратами в аптеках. Это делают крупные дистрибьюторы. И основная часть цены формируется ими, а не фармкомпаниями. Такие дела.