Excel. От парсинга SMS до загрузки в GnuCash

Эта статья является логическим завершением цикла, посвященного автоматизации загрузки данных из SMS в программу учета личных финансов GnuCash.
Судя по нескончаемому (на самом деле — нет) потоку комментариев к предыдущей статье, тема, действительно, интересна не только мне, поэтому было бы безответственно не довести описание до конца.

Читать далее

Excel. Парсинг банковских SMS

Кто регулярно ведет учет личных финансов, знает насколько бывает долго и утомительно вносить расходы в специализированную программу или в таблицу Excel. Доходы, конечно, тоже надо вносить, но они, увы, обычно реже, да и вносить их значительно приятнее.
И если, при оплате наличными тут сложно что-то автоматизировать, и приходится рассчитывать только на свою память или чеки, то при платежах картой, когда на телефон приходят SMS от банка, волей не волей задумаешься: «А нельзя ли что-то сделать, чтобы перестать быть роботом-колотилкой данных из сообщений в программу учета финансов?»
Конечно, я не открываю Америки — для Андроида существуют программы учета, которые умеют парсить SMS от банка и использовать их данные для внесения соответствующих проводок. Но вот пользователям iOS с этим повезло сильно меньше — дело в том, что политика iOS в отличие от Android, не позволяет сторонним программам читать сообщения в телефоне. Можно сколько угодно гадать, почему так, и ругать Apple, но факт остается фактом, и что-то с этим надо делать. Не буду вдаваться в подробности выкорчёвывания SMSок с айфона, дам всего лишь пару направлений для поиска, которые точно приведут вас к результату — это использование определенных файлов из бэкапа телефона, который делает iTunes, или использование программы iMazing (увы платной). Джейлбрейк и другие ломания телефона не рассматриваю, так как это уже совсем на любителя, коим я не являюсь. Да простят меня дорогие читатели, статья больше о парсинге, чем о копировании SMS с телефона, поэтому более подробно останавливаться не буду. Также у вас может возникнуть закономерный вопрос, почему я не говорю здесь о банковских выписках и отчетах, которые можно получить online у большинства крупных банков. Во-первых, логика описанная ниже будет одинакова, что для сообщений на телефоне, что для электронных выписок. Во-вторых, SMS в качестве источника данных мне нравится больше, т.к. они обычно приходят быстрее, чем соответствующая информация отображается в выписке по счету (минусы, конечно, тоже есть, но мне они не критичны).

Читать далее

Excel. Сложение чисел из текстовой строки, следующих после ключевых слов

По правде сказать, когда я писал в предыдущей статье, что скоро расскажу о том, как победить ограничение на фиксированность местоположения чисел в тексте и фиксированность их длины, то не был полностью уверен, что эту проблему мне действительно удастся решить, оставаясь в рамках требований к универсальности формулы и неизменности ее размеров независимо от количества чисел в строке. К счастью, мне удалось решить эту задачу, чем сегодня и хочу поделиться с вами. Если у вас есть желание и время попробовать свои силы в этом, то буду рад, если перед прочтением статьи вы попробуете это сделать самостоятельно и напишите, что у вас получилось, возможно, ваше решение окажется куда более легким и изящным.
Напомню, что итогом предыдущей статьи стала формула, позволяющая определять сумму всех чисел в текстовой строке:
=СУММПРОИЗВ(ЕСЛИОШИБКА(ЗНАЧЕН(ПОДСТАВИТЬ(ПСТР(X;{Y};{Z});".";",";1));0))
X — анализируемая строка
{Y} — массив из начальных позиций цифр в строке
{Z} — массив длин цифр в строке

Читать далее

Excel. Сложение чисел из текстовой строки

Сегодня рассмотрим задачу, как из текстовой строки в Excel выбрать все числа и сложить их.
Задача эта взята не из головы, а из насущной проблемы, о которой я вам расскажу в одной из ближайших статей.
Поставим условия для решения. Итоговая формула должна быть:

  • максимально компактной,
  • при возрастании количества извлекаемых чисел в строке, формула не должна увеличиваться и уж тем более не должна требовать ввода каких-то дублирующихся частей,
  • универсальной, то есть при соблюдении предыдущих двух условий быть применимой для строк любой длины, содержащих любое произвольное количество чисел.
Читать далее

«ВПР» по частичному совпадению

Спустя катастрофически большой промежуток времени с момента публикации моего последнего поста, решил поделиться супер крутой, на мой взгляд, Excel-формулой, узнав о которой, начинаешь удивляться, как же раньше-то я жил без нее. Но, должен сказать, авторство ее создания не мое, а вероятнее всего принадлежит англоязычному ресурсу, о котором я скажу ниже.
Кто более-менее часто работает с массивами данных в Excel почти наверняка знает про функцию ВПР (см. мою статью) или ИНДЕКС+ПОИСКПОЗ, которые решают достаточно частую задачу по объединению двух наборов данных по каким-либо совпадающим значениям. И действительно, использование этих функций решает задачи по сопоставлению и объединению данных в 90% случаев. Если бы не одно но — данные, по которым производится объединение, действительно должны именно совпадать. Но бывают случаи, когда требуется сопоставление по частичному совпадению. Да, в ВПР есть поиск по приблизительному совпадению, но работает он не совсем прозрачно, а потому предугадать, почему было подобрано одно похожее слово, а не другое, может быть не просто. Как вы поняли, эту прелюдию я затеял не просто так, а для того, чтобы рассказать, как же решить такую задачу при помощи Excel.

Читать далее

Как использовать почту в Outlook без подключения к Exchange?

Если в качестве почтового клиента вы используете MS Outlook, то могли столкнуться с
невозможностью просмотреть почту оффлайн. Это происходит, когда в настройках отключено
кэширование почты с сервера Exchange. Как и водится, настройки лежат не на поверхности,
а в каких-то семи мышекликах.

Читать далее

MS Access: подсчет числа строк с уникальными значениями одного из параметров

Уверен, кому-то приведенная здесь задача покажется простой, ну а для тех, кто как я пользуется MS Access от случая к случаю, может и пригодиться.
Специфика моей работы такова, что периодически требуется произвести анализ большого массива данных в достаточно сжатые сроки. Один из классов таких задач по анализу данных в общем виде можно свести к следующему:
Имеется два столбца. Данные могут повторяться как в первом, так и во втором столбце, также могут повторяться пары значений первого и второго столбца. Требуется выяснить может ли в рамках одного значения первого столбца быть несколько разных значений из второго столбца.
Решение такой задачи, на мой взгляд, наиболее просто произвести в MS Access. Пишу эту заметку скорее для себя, так как периодически забываю как это сделать и звоню коллеге за напоминаниями (привет, Андрей!).

Читать далее

Использование функции =ВПР() в MS Excel

Столкнулся на днях со следующей задачей. Имеется два столбца с данными, при этом данные одного из столбцов частично содержаться в данных второго. Необходимо понять, какие данные содержаться только в первом столбце.
Средствами Excel эту задачу можно решить при помощи функции =ВПР().

Читать далее