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

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

Читать далее

Импорт проводок в GnuCash

Как и обещал в предыдущей статье, возвращаюсь с темой импорта проводок в GnuCash. Это одна из тех задач, решение которых упорно не гуглится вообще нигде — ни в российском сегменте, ни в англоязычном (может плохо ищу?). Забавно, но одна из первых ссылок в гугле по теме «Import 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.

Читать далее

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

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

Читать далее