копипаст в экселе что это
Copy/paste функциональность между Swing’s JTables и Excel
Данный Java совет поможет понять принцип формируемой Excel строки, помещаемой в системный буфера обмена, позволит добиться copy/paste функциональности при взаимодействии JTable и Excel. Как вы увидите далее, этот совет законченный и позволяет добиться желаемого результата буквально дописав одну строчку кода.
Всё, что вам нужно для достижения данной цели, это скопировать файл ExcelAdapter.java, описанный ниже, скомпилировать его и позаботиться о доступности полученного класса для вашего приложения. Как только вы это сделаете, ваш JTable готов к «разговору» с Excel. Мы покажем какую строчку необходимо дописать, чтобы обеспечить Copy/Paste функциональность с Excel. Конечно, будет приведен и пример простого приложения, обеспеченного данной функциональностью.
Класс адаптер
Ниже представлен код класса-адаптера, называемого ExcelAdapter.java, который и призван решить данную задачу:
/**
* ExcelAdapter enables Copy-Paste Clipboard functionality on JTables. The
* clipboard data format used by the adapter is compatible with the clipboard
* format used by Excel. This provides for clipboard interoperability between
* enabled JTables and Excel.
*/
public class ExcelAdapter implements ActionListener <
private String rowstring, value ;
private Clipboard system;
private StringSelection stsel;
private JTable jTable1;
/**
* Public Accessor methods for the Table on which this adapter acts.
*/
public JTable getJTable() <
return jTable1;
>
Простое приложение
Ниже приведён код простого приложения Frame1.java, который, используя ExcelAdapter, делает JTable Excel-совместимым.
public class Frame1 extends Frame <
public static void main( String args[]) <
Frame1 myframe = new Frame1();
myframe.setSize( new Dimension(250, 250));
myframe.setVisible( true );
>
public Frame1() <
super();
try <
jbInit();
> catch (Exception e) <
e.printStackTrace();
>
>
Формат данных, помещаемых Excel в буфер обмена
Формат данных, помещаемых Excel в буфер обмена очень простой. Excel разделяет данные, которые находятся в одной строке, с помощью табов, а данные, которые находятся в разных строках — символами новой строки (обычно это символ «\n»). Таким образом, когда вы копируете набор ячеек, Excel помещаете в буфер обмена строку, сформированную по вышеописанным правилам. Используя данную информацию, можно реализовать Copy/Paste функциональность в лубом приложении, написанном на любом языке, который позволяет работать с буфером обмена.
VBA Copy Paste
VBA Copy Paste
Подобно функции листа в Excel, мы также можем копировать данные вставки или набор значений в VBA. В обычных данных мы используем CTRL + C, чтобы скопировать выборку данных, а затем CTRL + V, чтобы вставить выбранные данные в целевую ячейку. Но то же самое в VBA делают определенные коды, которые мы узнаем в этой статье.
Как мы используем копирование и вставку в Excel VBA? Для этого сначала нам нужно активировать целевой лист или рабочую книгу, из которой мы хотим скопировать любой диапазон данных, и этот выбор копируется определенным кодом, когда этот выбор успешно скопирован, мы можем продолжить и вставить данные в целевой диапазон ячеек.
Синтаксис для копирования данных в VBA выглядит следующим образом:
Теперь синтаксис для вставки данных в другой лист или в любой другой диапазон ячеек выглядит следующим образом:
Мы используем оператор Dot (.) Для использования методов копирования и вставки в VBA.
Мы можем скопировать весь столбец и вставить его в другой столбец, а также мы также можем скопировать всю строку и вставить ее в другую строку. Мы узнаем все это в этой статье.
Примечание. Чтобы использовать VBA в Excel, убедитесь, что вкладка «Разработчик» включена из вкладки «Файл», а затем в раздел настроек параметров.
Как использовать Excel VBA Copy Paste?
Мы научимся использовать VBA Copy Paste с несколькими примерами в Excel.
Для демонстрации у меня есть случайное значение в ячейке A1, которое я хочу скопировать и вставить в ячейку B1, используя код VBA. Посмотрите, какие данные находятся в ячейке A1, а ячейка B1 пуста.
Выполните следующие шаги, чтобы использовать Excel VBA Copy Paste:
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Как только редактор VB откроется, нажмите на кнопку вставки, а затем на кнопку Вставить модуль, чтобы вставить окно кода.
Шаг 3: Объявите подфункцию, чтобы начать писать код.
Шаг 4. Сначала активируйте лист, чтобы использовать свойства листа с помощью следующего кода.
Шаг 5: Скопируйте данные, которые находятся в ячейке A1, с помощью следующего кода.
Шаг 6: Теперь вставьте скопированные данные в целевую ячейку, которая является ячейкой B1, с помощью следующего кода.
Шаг 7: Запустите приведенный выше код с помощью кнопки запуска и посмотрите результат в ячейке B1.
У меня есть данные в столбце C, и я хочу скопировать все данные или значения и вставить их в столбец D, используя код VBA. Посмотрите ниже, что это за данные в столбце C, и что столбец D пуст.
Выполните следующие шаги, чтобы использовать Excel VBA Copy Paste:
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Нажмите на вставленный модуль, чтобы открыть окно кода,
Шаг 3: Объявите подфункцию, чтобы начать писать код.
Шаг 4. Сначала активируйте рабочий лист с помощью следующего кода.
Шаг 5: Скопируйте данные в столбце C с помощью следующего кода.
Шаг 6: Теперь, чтобы вставить данные в столбец D, используйте следующий код.
Шаг 7: Запустите следующий код с помощью кнопки запуска или нажмите F5.
Запустите код, чтобы увидеть следующий результат.
Теперь для этого примера у меня есть целый диапазон данных в диапазоне ячеек G1: H3, и я хочу скопировать данные в диапазоне ячеек I1: J3. Посмотрите ниже на данные, которые у меня есть в диапазоне ячеек G1: H3, а диапазон ячеек I1: J3 пуст.
Выполните следующие шаги, чтобы использовать Excel VBA Copy Paste:
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Нажмите на вставленный модуль, чтобы открыть окно кода,
Шаг 3: Объявите подфункцию, чтобы начать писать код.
Шаг 4. Сначала активируйте лист, чтобы использовать его свойства с помощью следующего кода.
Шаг 5: Скопируйте данные в целевой диапазон ячеек с помощью следующего кода.
Шаг 6: Теперь, чтобы вставить данные в ячейку назначения, используйте следующий код.
Шаг 7: Запустите приведенный выше код с помощью кнопки запуска или нажмите F5, чтобы увидеть следующий результат.
Для этого примера у меня есть данные в строке 10, и я хочу вставить данные в строке 11. Посмотрите ниже, чтобы увидеть, какие данные находятся в строке 10, а строка 11 свободна.
Выполните следующие шаги, чтобы использовать Excel VBA Copy Paste:
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Нажмите на вставленный модуль, чтобы открыть окно кода,
Шаг 3: Объявите подфункцию, чтобы начать писать код.
Шаг 4. Активируйте рабочий лист, чтобы использовать свойства рабочего листа.
Шаг 5: Скопируйте строку 10 со следующим кодом.
Шаг 6: Вставьте данные строки 10 в строку 11 с помощью следующего кода.
Шаг 7: Запустите приведенный выше код, нажав F5, чтобы увидеть следующий результат.
То, что нужно запомнить
Рекомендуемые статьи
Финансы в Excel
Копирование и вставка
В статье описываются возможности использования буфера обмена Windows и Microsoft Office, а также особенности копирования и вставки данных в Excel. Понимание и правильное использование этих операций позволяет существенно ускорить выполнение рутинных операций при обработке данных.
Буфер обмена операционной системы
Копирование и вставка являются стандартными операциями для всех Windows-приложений. Для этого зарезервированы универсальные комбинации горячих клавиш, доступные практически в любой программе:
Часто также упоминаются аналогичные по функциональности сочетания клавиш: Ctrl+Ins – скопировать, Shift+Ins – вставить, Shift+Del – вырезать. Однако, мы не рекомендуем использовать эти сочетания, так как некоторые приложения заменяют их стандартное поведение на другое. Например, нажатие Shift+Del в Проводнике Windows вместо ожидаемого вырезания перемещаемого файла вызовет его удаление в обход корзины. То есть вместо перемещения может случиться безвозвратная потеря данных.
Если вы предпочитаете использовать мышь вместо клавиатуры, то стандартные поля ввода Windows-приложений обычно поддерживают контекстное меню с операциями копирования, вырезания и вставки текста.
Скопированный текст или другой блок данных может быть вставлен в другое приложение, в зависимости от возможностей последнего. Например, скопированный в Блокноте текст не получится затем вставить в графический редактор Paint. Однако же, тот же текст, набранный в Word, успешно вставляется в Paint в виде точечного рисунка. Такая возможность реализуется на программном уровне за счет перемещения данных в буфер обмена в нескольких форматах одновременно. Если набрать в Word полужирным шрифтом слово Example, затем его скопировать, то в буфере обмена появится несколько блоков информации:
Example | Текст как набор символов без форматирования |
Текст с форматированием в формате HTML | |
<\rtf1\ansi\ansicpg1252\uc1 <\b Example><\par >> | Текст с форматированием в формате RTF |
| Точечный рисунок блока экрана |
Теперь, если попытаться вставить данные в Блокнот, то программа выберет из буфера обмена единственный доступный для себя вариант информации – текст без форматирования. Если то же самое сделать в Paint’е, то будет обработана последняя область – рисунок. Набор доступных форматов для копирования и вставки зависит от возможностей конкретной программы. Если приложение поддерживает несколько форматов информации (рисунки, текст, сложные объекты), то оно позволяет выбрать вариант вставки. Например, в Microsoft Word эта процедура реализована через пункт меню Специальная вставка:
Если использовать обычную вставку данных, то автоматически будет выбираться самый подходящий для этой программы формат. Excel также поддерживает операцию вставки данных в различных форматах по принципу Word, если информация в буфер обмена попала из другого приложения. Если же копирование диапазона ячеек было проведено в том же приложении, то специальная вставка заменяется внутренней операцией Excel (раздельная вставка значений, формул, форматов и пр.), при которой не задействуется буфер обмена операционной системы.
Некоторые другие приложения также реализуют собственные процедуры работы на основе операций копирования и вставки, не задействуя для этого буфер обмена. Так, например, в Проводнике операция «копировать» не перемещает весь файл в буфер обмена Windows. Вместо этого запоминается только ссылка на этот файл, которая будет обработана при выполнении операции вставки.
Буфер обмена Microsoft Office
Как уже отмечалось выше, за операции со стандартным буфером обмена отвечает операционная система. Одной из задач при этом является корректное использование оперативной памяти. Операционная система, в частности, заботится о своевременной очистке области буфера обмена. В текущей реализации стандартный буфер обмена Windows позволяет хранить только один блок скопированной информации. При вызове процедуры нового копирования этот блок предварительно очищается, а зарезервированная за ним область памяти становится доступной для использования в качестве буфера обмена.
Для улучшения возможностей работы с пользовательским интерфейсом в Microsoft Office, начиная с версии 2000 (9.0), реализован расширенный буфер обмена с возможностью одновременного хранения нескольких (до 24х) скопированных блоков информации. Пользователю предоставляется интерфейс выбора и вставки любого из этих блоков в любое открытое приложение Office (Excel, Word, PowerPoint, OneNote и др.). Возможно, более логично было бы реализовать подобную функциональность на уровне операционной системы (Windows), хотя это и потребует изменения стандартов для всех приложений. Сейчас получается, что множественный буфер обмена работает до тех пор, пока открыто хотя бы одно приложение Office. Если оно закрывается, то становится доступным только буфер обмена Windows с единственным блоком скопированной информации.
Интерфейс множественного буфера обмена в Office 2010 открывается и настраивается на ленте «Главная» в одноименном блоке (стрелка в нижнем правом углу).
Если говорить о полезности и удобстве работы с множественным буфером обмена, то здесь имеются различные мнения. Я лично никогда не использую эту функциональную возможность – проще еще раз скопировать. Но, скорее всего, это сила привычки.
Копирование и вставка в Excel
Как уже отмечалось, Excel полностью поддерживает буфер обмена Office, но, кроме того, в этой программе поддерживаются собственные операции копирования и вставки без использования буфера обмена.
Здесь следует заметить, что повторное использование объектов через копирование и вставку является одним из определяющих факторов ускорения обработки информации при использовании электронных таблиц Excel.
Что же в действительности происходит в Excel при нажатии кнопки «копировать» при выделении диапазона ячеек?
Во-первых, как и в прочих Windows-приложениях, набор информации помещается в буфер обмена операционной системы в нескольких форматах: простой текст, форматированный текст, точечный рисунок и др. Таким образом, вы, например, можете воспользоваться графическим редактором и вставить туда экранное отображение блока выделенных ячеек. Если вставить этот же блок обратно в Excel, то вставится рисунок:
Во-вторых (и это главное), при копировании Excel выполняет внутреннюю операцию для работы с ячейками электронной таблицы. По нажатию сочетания клавиш Ctrl+C, пункта контекстного меню либо кнопки копирования в памяти сохраняются ссылки на выделенные ячейки. Этих ячеек может быть огромное количество. Они могут располагаться одном прямоугольном диапазоне, либо в нескольких несвязанных диапазонах (для выделения таких диапазонов надо при выделении мышью удерживать клавишу Ctrl). Теоретически имеется возможность копирования ячеек на разных листах (несколько листов можно выделять также через удержание клавиши Ctrl на ярлыке листа), но эти ячейки должны располагаться по одному и тому же адресу, при этом последующая вставка возможна также только на этих же выделенных листах. На практике лучше отказаться от копирования-вставки на нескольких листах одновременно, так как эта операция не очень наглядна и часто приводит к потере данных.
Доступно также копирование ссылок между разными, но открытыми в одном приложении Excel, файлами. Типичной ситуацией, вызывающей непонимание со стороны пользователя, является обработка данных в нескольких одновременно открытых приложениях Excel. При попытке скопировать данные из одного файла в другой программа вставляет результат только в виде отформатированных значений без формул. Это не ошибка, просто несколько одновременно открытых программ Excel занимают различные области памяти и никаких ссылок между ними быть не может. При копировании и вставке в этом случае используется только буфер обмена Office. Для исправления ситуации откройте файлы в одном приложении Excel.
Еще раз обращаем внимание, что при запуске операции копирования, в память программы записываются не данные (текст, формулы, форматы), а только ссылки на адреса выделенных ячеек. Для наглядности интерфейс Excel обводит скопированные ячейки анимированной рамкой.
После копирования диапазонов становится доступной операция вставки. Перед этим необходимо выделить один или несколько диапазонов или ячеек для приема данных из скопированной области.
Вставка доступна до тех пор, пока пользователь не произвел действий, приводящих к изменению данных электронной таблицы. Можно выделять ячейки и диапазоны, перемещаться между листами и файлами. Также не отменяет область копирования сама операция вставки. Это позволяет копировать ячейки несколько раз подряд для разных диапазонов. Любые другие операции с пользовательским интерфейсом, например, ввод данных, группировка, сортировка, форматирование, приводят к сбросу скопированной ранее ссылки. Принудительно сбросить область копирования можно по нажатию клавиши Esc.
Если выделенная перед вставкой область листа не совпадает с размером скопированной области, то Excel попытается распространить данные несколько раз или вставить только часть данных. В некоторых случаях это бывает невозможно (например, области копирования и вставки пересекаются), тогда программа выдает сообщение об ошибке.
Кроме простой вставки, скопированный диапазон может быть добавлен в область листа с расширением границ влево или вниз через пункт контекстного меню «Вставить скопированные ячейки».
Если для вставки данных воспользоваться буфером обмена Office, то будут добавлены данные с потерей формул аналогично примеру с копированием между разными приложениями Excel.
По умолчанию при вызове операции вставки на выделенный диапазон будут распространены все атрибуты исходного диапазона, а именно: формула, формат, значение, примечание, условия. Иногда приводится сложное описание правил копирования формул, так как они вроде бы автоматически преобразуются при изменении адресов диапазона-приемника. На самом деле формулы копируются в формате R1C1 и при этом остаются неизменными (можете проверить, переключив вид листа Excel в R1C1). Отображение в привычном A1-формате просто преобразует формулу в новых координатах.
Операция «вырезания», в отличие от копирования, очищает исходный диапазон после проведения вставки. Если вставка не была выполнена, то никаких действий произведено не будет.
Специальная вставка
Другой важной особенностью копирования диапазонов Excel является раздельная вставка атрибутов скопированных диапазонов. В частности, можно вставить в новое место рабочего листа только комментарии из скопированного диапазона. Набор атрибутов, доступный для раздельного копирования, отображается в диалоге специальной вставки:
В разных версиях Excel набор элементов специальной вставки немного отличается. Но независимо от этого можно воспользоваться повторной операцией вставки атрибута. Например, для вставки формул с примечаниями, но без форматов, надо скопировать один раз исходный диапазон, а затем последовательно выполнить две специальных вставки на одном и том же диапазоне: вставка только формул, затем вставка только примечаний.
Диалог специальной вставки содержит также блок переключателей, позволяющий производить математические операции над диапазоном данных: сложить, вычесть, умножить и разделить. Операция будет применена к диапазону, выделенному перед вставкой. А скопированные ячейки при этом будут содержать коэффициенты сложения, вычитания, умножения или деления. В большинстве случаев применяют единый коэффициент на весь диапазон. Например, можно скопировать число 10, затем выделить диапазон и выбрать специальную вставку с умножением – в результате все данные выделенного диапазона будут умножены на 10. Если в ячейках содержалась формула, то она будет преобразована по математическим правилам:
Еще одна возможность специальной вставки – это транспонирование диапазона. После выполнения этой операции результирующий диапазон будет повернут на 90 градусов – данные из строк попадут в столбцы и наоборот.
Настоятельно рекомендуем освоить и применять на практике специальную вставку – это незаменимая функция при разработке сложных финансовых моделей.
Как только была выполнена какая-то операция с данными электронной таблицы, либо в буфер обмена Office попала новая порция информации, воспользоваться ссылкой для вставки формул не получится. На картинках пример, показывающий такое поведение:
Как скопировать и вставить лишь видимые ячейки в Excel
Вы когда-нибудь пытались скопировать и вставить диапазон ячеек со скрытыми строками и/или столбцами? Если да, то Вам наверняка знакома особенность Excel, заключающаяся в том, что в результате подобного действия вставляются все ячейки, а не лишь видимые.
Рассмотрим, как данную особенность можно обойти и добиться вставки лишь реально видимых ячеек. Для этого:
Шаг первый: Выбираем нужный к копированию диапазон.
Шаг второй: Открываем с помощью комбинации клавиш CTRL+G окно «Переход» и в нём нажимаем на кнопку «Выделить»:
В следующем окне выбираем опцию «только видимые ячейки» и подтверждаем выбор.
В итоге вот так выбираются все видимые ячейки (левая часть следующей картинки). Копируем данное выделение с помощью CTRL+C (результат копирования отображен справа на следующей картинке):
Третий шаг: Вставляем скопированное где нужно, получая в результате вставку лишь видимых ячеек:
Вот такой подход. О нём я наглядно рассказал в следующем видео, советую его посмотреть:
MS, Libreoffice & Google docs
462 поста 12.7K подписчиков
Правила сообщества
2. Публиковать посты соответствующие тематике сообщества
3. Проявлять уважение к пользователям
4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.
По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях
Вот это реальный лайфхак! Сколько нервов пожжено было!
Есть способ вызвать вот это «только видимые ячейки» легче.
Но я его не помню без компа. В пн с работы могу посмотреть, если кому надо.
Как удалить фон картинки в Excel / Word / PowerPoint – Просто!
Если вдруг нужно вырезать фон картинки, а под рукой нет Photoshop-а – не беда! Ведь эту задачу можно легко решить и непосредственно в Excel, Word-е, или же в PowerPoint-е.
Возьмем в качестве примера вот эту картинку:
Вырежем ей фон в Excel, и укажем вырезанным символом руки на показатель выручки в Берлине за июль вот в этом небольшом отчете:
Выбираем на компьютере нужную картинку и вставляем её на рабочий лист:
Вот и наша картинка:
Теперь выбираем её и во вкладке «Формат рисунка» щелкаем по кнопке «Удалить фон»:
Excel сразу пытается угадать, что нужно вырезать, и помечает эти части фиолетовым цветом. Так что теперь просто с помощью карандаша добавления (А) добавляем требуемые области в выбор, а с помощью карандаша удаления (Б) удаляем ненужное:
Оставив лишь требуемое, нажимаем на «Сохранить изменения» и получаем желаемый результат:
Ну и размещаем, как хотели, вырезанный указатель:
Вот и всё! Через правый щелчок вырезанную картинку можно легко сохранить в формате PNG (в этом формате прозрачные области картинки остаются таковыми и не заполняются белым цветом).
В этом посте пример приведен с простой картинкой. Тем не менее представленный инструмент вполне не плохо работает и с фотографиями, вот в этом видео я привел пример и советую его также посмотреть:
Забудьте об объединении ячеек, ведь намного лучше поступать вот так!
Точно уверен, что Вам часто приходилось понервничать с объединёнными ячейками!
Возьмём в качестве примера вот такую таблицу:
Выглядит, вроде, неплохо, вот только большим, на первый взгляд невидимым, минусом является то, что ячейки в диапазонах B2:E2 и B8:E8 объединены!
Поэтому если попробовать разом выбрать, например, все значения одного из месяцев, у нас непременно будет расширен выбор сразу на все столбцы таблички:
Но что же тогда использовать, спросите Вы, если вот понадобилось именно подобное центрирование содержимого по нескольким ячейкам? Для это намного лучше использовать центрирование содержимого по центру выделения. Разберёмся.
Для этого сперва отменяю объединение ячеек:
После этого выбираю все требуемые ячейки (я выбрал ячейки сразу как в строке 2, так и 8):
Теперь щелкаем по вот этому символу:
И в открывшемся окне в пункте «по горизонтали» выбираем настройку «по центру выделения».
Нажимаем на ОК и всё готово (на картинке ниже показано, что объединение ячеек не использовано)!
Теперь все выглядит как нам нужно было, и при этом и в функциональном плане всё работает как должно – вот могу спокойно выбирать нужные ячейки:
Всё описанное я также наглядно показал вот в этом видео, советую его посмотреть:
Ипотека – руководство по эксплуатации. Немного философствования, расчета и анализа. Разоблачение мифов
Здесь есть постулаты для понимания. Если, прочитав их, вы с ними согласитесь – дальше статью можно не читать, а пролистать мельком до конца третьего пункта. Там изложены соображения о стратегии и целесообразности досрочного погашения.
Антимиф №1: между кредитами с аннуитетным и дифференцированным платежом по сути нет никакой разницы;
Антимиф №2: досрочные погашения с уменьшением срока кредита и с уменьшением суммы ежемесячного платежа выгодны одинаково;
Антимиф №3: при возможности досрочного погашения кредиты с разными сроками кредитования идентичны.
Если хотя бы по одному пункту не согласны – читаем дальше.
Между кредитами с аннуитетным и дифференцированным платежом по сути нет никакой разницы.
Пару дней назад я сам этого не знал этого факта. Всегда выбирал первый тип кредита, потому что он для меня более «прозрачный» и легкий для прогнозирования. Более того, я считал, что по кредиту с дифференцированным платежом переплата по процентам будет больше, чем по кредиту с аннуитетным. Кто-то утверждал обратное, приводя первую попавшуюся картинку из поиска. А конкретно эту:
От вида этого я ощутил скачек адреналина и прилив энтузиазма. На нем и пишу. А лучше бы новое лобовое стекло для машины искал, или хотя бы половину от полного бака летней солярки перед заморозками откатал.
Вот источник где четко сказано, что оформление кредита с аннуитетным платежом банку выгоднее.
Снова внимание на рисунок: очевидно, что объем переплаты по процентам (площадь оранжевой фигуры) во втором варианте больше.
Стоп! Почему на рисунке и погашение основного долга больше (площадь синей фигуры)? На подобных графиках воспринимать денежные суммы удобнее как площади фигур.
Т.е. автор статьи сравнивает два кредита с разной суммой займа. Либо с одной суммой, но построил графики в разных системах координат. А зачем. Непонятно!
Первую «ловушку» обошли, ограничившись визуальным анализом.
Копнем глубже: что там в расчетах?
Название третьего раздела вышеупомянутой статьи: «Почему выгоднее взять ипотеку с дифференцированными платежами: пример». Даже читать не стану, что они там насчитали. Открываю электронную таблицу и набрасываю вариант.
Суммы экономии сейчас не очень значительны, но во времена ставок 12-18% были куда существеннее (к чему, думаю, в скором времени все и вернется).
Формулы расчета ежемесячных платежей по обоим видам кредитов упрощенные из Википедии. Суть и суммы от этого не меняются. При расчете платы по % при аннуитетном платеже использовал просто умножение остатка долга на 1/12 процентной ставки. Действительная формула иная, учитывает количество дней в месяце, но в далеком 2016 году я был младшим научным сотрудником и не считал нужным в это углубляться.
2021 год. И сейчас не считаю нужным. Взяв любой график аннуитетного платежа и посмотрев на столбец «плата по %» понимаешь, что за несущественной погрешностью так оно и есть – переплата в месяц по процентам равна 1/12 процентной ставки от остатка текущей задолженности. Годовая переплата та же. А ведь в годах бывает разное количество дней! Понятно, почему банки считают все по дням.
Собственно формулы: слева аннуитеный, справа дифференцированный.
Посмотрим графики. Визуализация.
Разница с первым рисунком налицо.
В качестве исходных данных одинаковые сумма кредита, процентная ставка, срок кредитования.
Сплошная синяя линия – ежемесячный платеж по кредиту с аннуитетным платежом.
Сплошная оранжева линия – ежемесячные платежи по кредиту с дифференцированным платежом;
Пунктирная синяя линия – ежемесячные платежи по процентам кредита с аннуитетным платежом.
Пунктирная оранжевая линия – ежемесячные платежи по процентам кредита с дифференцированным платежом.
количество уплаченных процентов – это площадь фигуры, ограниченной линией платежей по процентам и осью времени;
количество выплат по основному долгу – это площадь фигуры между линиями ежемесячного платежа и платежа по процентам;
экономия на процентах – площадь фигуры между двумя линиями платежей по процентам (между синей пунктирной и оранжевой пунктирной).
Далее стоит воспринимать графики именно таким образом. Так намного проще все понять и оценить визуально, не вглядываясь в таблицы.
В чем здесь смысл. Часто слышу от друзей: «ты же по кредиту сначала проценты платишь, а потом только основной долг». Подобные фразы у меня вызывают непонимание. На самом деле так: проценты по кредиту ты платишь всегда и одну и ту же часть – каждый месяц 1/12 (точнее – 31/365, 30/365, 28/365 – зависит от месяца) процентной ставки от суммы остатка основного долга. Другой вопрос: какую сумму ты платишь в счет погашения основного долга? – либо по графику, либо ты можешь платить ту сумму, которую хочешь. Это стоит решать самому, что бы не морочить себе голову выбором кредитного продукта.
По сути кредит с дифференцированным платежом, по сравнению с аннуитетным, это некий вариант досрочного погашения с тем условием, что каждый месяц платишь одну и ту же сумму по основному долгу (взглянем на график – линии ежемесячного платежа и платежа по процентам идут параллельно).
В рассматриваемом варианте изначально дифференцированный платеж больше чем по аннуитеному, ближе к окончанию срока кредитования он падает ниже. То есть по сравнению с кредитом с аннуитетном платежом сначала вы переплачиваете, а потом (в данном случае через 96 месяцев) недоплачиваете по основному долгу.
Отвлекся от сути. Вернемся к цели раздела – все одно!
Возьмем тот же кредит с аннуитетным платежом, но каждый месяц будем вносить досрочно такую сумму, что бы ежемесячный платеж равнялся платежу по кредиту с дифференцированным платежом. Обратим внимание выше на третий массив данных «Аннуитетный с платежом по Дифф». Там добавлен столбец досрочного погашения «разница», где в каждой ячейке вбита формула разности между диффернцированным и ануитетным платежами. Куда ляжет график этой функции? Один в один с кредитом по дифференцированному платежу: черная сплошная линия – ежемесячный платеж, черная пунктирная линия – ежемесячная плата по процентам.
Собственно и переплата по процентам в третьем массиве данных «Аннуететный платеж по Дифференцированному платежу» один в один сходится с переплатой по процентам в первом массиве данных «Аннуитетный». Что и требовалось доказать.
На этом можно было бы остановиться, но я вспомнил, что когда-то формировал платеж из условия, что бы платеж по основному долгу был не менее первоначального платежа по процентам (считал неэтичным платить банку больше, чем себе) – по сути это тот же дифференцированный платеж, но с другой формулой расчета ежемесячного обязательного платежа. Назову это формулой расчета платежа по CraftyHorse. Шучу, оно не стоит того. Посмотрим, что бы из этого вышло. В последующих главах расчеты будут более гибкими.
Итак, четвертый массив данных и график (красные)
Какой график лучше?
Ежемесячный платеж на 2,2т.р. больше чем по дифференцированному с теми же условиями, но плюсом экономия по процентам около 200т.р., минус 2,5 года «рабства». Всего-то. 30 минут потрачено зря. Возможно, для кого-то это стоит того, для большинства думаю не стоит. Все равно интересно. Это сейчас кредитная благодать со ставкой до 8%. А вбивая в эту таблицу ставку 12% и выше, экономия повышается пропорционально.
Здесь есть еще один нюанс: во многих банках ограничена минимальная сумма досрочного погашения. Решается это следующим образом: разница накапливается несколько месяцев и потом вносится одним платежом. Естественно экономия уменьшается за счет «пилообразности» графика, но несущественно.
В сухом остатке совершенно не важно: кредит с аннуитетным платежом, дифференцированным, или со своим, потому что каждый месяц всегда платишь 1/12 процентной ставки остатка долга. Две формулы выше лишь способ организовать порядок выплаты основного долга. Можно поломать шаблоны и заняться формированием ежемесячного платежа самому.
Дочитав до сюда, мой друг сказал: ###ть ты заморочился! Я понял одно – если возьму ипотеку, я тебе все поручу считать.
Досрочные погашения с уменьшением срока кредита и с уменьшением суммы ежемесячного платежа выгодны одинаково.
Уже знакомый кредит (2 млн., 8%, 15 лет). Необходимо внести досрочный платеж. Например, ФНС перечислила налоговый вычет, и заемщик задумывается: внести досрочный платеж, сократив срок кредитования или уменьшив ежемесячный платеж. Допустим, годовой доход заемщика составляет 1млн.р., а первая половина налогового вычета поступает, скажем, через 7 месяцев после покупки квартиры, вторая половина соответственно через 19.
Собственно сам кредит – массив «Плановый». И два массива того же кредита с досрочным погашением – «Досрочный 1» и «Досрочный 2». В первом учитывается досрочное погашение с уменьшением срока кредитования, во втором – с уменьшением ежемесячного платежа.
Что имеем? При досрочном погашении с уменьшением срока кредитования экономия по процентам примерно на 250т.р. больше, чем при досрочном погашении с уменьшением суммы платежа, а срок выплат на 3 года меньше. Но, уменьшая сумму платежа, впоследствии платим меньше по основному долгу. Получается расчеты не эквивалентны. Уравниваем! Разницу платежей между вариантом 1 и вариантом 2 плюсуем к варианту 2 после «вброса» налогового вычета.
Столбцы «платеж фактический» у обоих кредитов совпали. Переплаты по процентам обоих вариантов досрочного погашения сошлись. Графики легли в одну линию. Второй антимиф доказан.
При возможности досрочного погашения кредиты с разными сроками кредитования идентичны.
Знакомые исходные данные, два кредита с аннуитетным платежом:
2 млн. – сумма кредита;
10 и 20 лет – сроки кредитов. Думаю самое оно. Платеж для срока кредитования 20 лет не намного больше, чем для срока кредитования 25 лет. А 10 лет по факту убирается в 5 лет. Вполне жизненные цифры.
Подставляем цифры, формируем массивы, строим графики.
Это все очевидно. Это именно то, что нам показывает кредитный калькулятор онлайн. Переплата по процентам кредита на 20 лет составляет 2014912 рублей. Переплата по процентам кредита на 10 лет составит 911862 рубля. Надо брать? – на самом деле разницы нет!
Небольшое отступление: смотря на эти цифры, я не вижу цифры. Равно как и на работе: огромные массивы данных, более 100 тысяч строк. Для кого-то это просто цифры, для меня это не так: в голове чёткая картина физических процессов и их результат. Можно сравнить с отрывком из фильма «Матрица»: Информации, получаемой из Матрицы, гораздо больше, чем ты можешь расшифровать. Ты привыкаешь к этому. Скоро твой мозг сам делает перевод. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую.
И со мной такое. Настоящему научному сотруднику нет разницы, что подвергать анализу: поток данных, описывающих физические процессы, или финансовые потоки. Глядя в свой массив данных, не этот, а в свой, я вижу не цифры, а их результат. Например, этот.
Есть и масса других вариантов.
График кредита на 20 лет с досрочным погашением разницей ежемесячных платежей лег аккуратно на график кредита сроком на 10 лет. Снова все правильно.
Печатая все это, завязался очередной бесполезный спор с другом:
— Зачем ты все это считаешь?
— Отвали. Допишу, и вместо этих вопросов будешь спрашивать только как пользоваться Excel.
— Нафига мне Excel? Есть кредитные калькуляторы!
— И что тебе кредитный калькулятор насчитает?
— Он посчитает какой кредит выгоднее.
— И на какой срок выгоднее при одинаковых платежах?
— При меньшем сроке переплата по процентам меньше.
— Бесполезно спорить, прибегнем к консультации третьих лиц. Звони Володе, у него два ипотечных кредита, задай вопрос: при досрочном погашении выгоднее долгосрочный или краткосрочный кредит?
Володя: зависит от стратегии гашения, обычно без разницы. Но лучше брать долгосрочный.
— Молодец, соображает. Можно исключать его из списка рассылки.
Почему долгосрочный? (громко сказано, 20 лет вполне хватит).
А вполне случаются моменты, когда платить нечем. За пять лет даже у меня несколько раз случались такие ситуации. При меньшем обязательном платеже меньше вероятность в тяжелые времена стать жертвой штрафных санкций банка. Но и что бы каждый месяц педантично платить сверх обязательного платежа, нужно иметь выдержку. Хотя и суммы платежей отличаются незначительно, 24266 против 16729, где взять лишние 7,5т.р. для досрочного погашения? Да где угодно. В конце концов, зарплаты иногда растут вместе с ростом цен. Если нет – с друзьями обычно происходит следующий монолог: А вот ты пиво часто пьешь? Сигареты куришь? Откажись от этого частично, и средства найдутся.
Здесь сразу вспоминается текст одной из песен группы Кирпичи, в текстах которой я ощущаю не только шлейф алкоголя, но и интеллект:
«И денег на пиво становится все больше походу
Что вы смеётесь? Пиво – знатная статья pасходов»
Прям в голове заиграла.
Допустим, негде взять 7,5т.р., а есть только 2,5т.р.. Раз в месяц это мелочь.
Вбиваю в ячейку досрочного погашения 2500р. Получаю:
Ежемесячный досрочный платеж 2,5т.р. дал эффект в около 600т.р. (площадь фигуры между желтой пунктирной и черной пунктирной линиями). Срок кредитования сократился на 5 лет. Глядя на эти графики становится ясно, почему все в основном берут заем на 15 лет. Таких сравнительных графиков можно построить сколько угодно и выбрать из них оптимальный. И корректировать его на протяжении всего срока кредитования увеличивая эффективность. Еще один вариант – хочу и могу каждый месяц платить 30000р. вместо 16792р.. Таблицу приводить уже лишнее, только график и цифры. Имеем следующее:
Переплата по процентам около 654т.р., что втрое меньше первоначальных 2млн. И закрывается кредит через 7,5 лет. Уже интересно.
Назревает логический вопрос: зачем так заморачиваться?
Во-первых: не сильно то и заморачиваешься. При наличии начальных навыков пользования MS Excel это все делается довольно быстро. Даже в моей «бухгалтерии», где все вышеописанное выглядит немного сложнее и изобилует операторами И, ИЛИ, ЕСЛИ, что в конечном итоге значительно упрощает процесс. Всяко интереснее, чем рубиться в PS.
Во-вторых, нужно оценивать эффективность досрочного погашения в разные периоды. То что дает хороший эффект сейчас, через несколько лет может оказаться низкоэффективной финансовой нагрузкой.
Если в настоящий момент цель закрыть кредит у вас стоит на первом месте, а все остальное отложено на потом – можно «вбрасывать» все что есть и не усложнять себе жизнь расчетами. В остальных случаях стоит посчитать. По мне, так грань между шестизначной и семизначной цифрой слишком тонкая.
Расчет в моем случае – с учетом переплаты по процентам и стоимостью ремонта выйти на стоимость квартиры ниже рыночной на определенную сумму. Если вы занимаетесь покупкой недвижимости с целью перепродажи – самое оно.
Все описанное выше справедливо и для потребительских кредитов. Конечно, расчетные суммы снижаются из-за маленьких сроков кредитования, но на коротком отрезке времени они становятся более значимыми, и процентные ставки там покруче – есть над чем подумать.
Если у вас нет ипотеки и, прочтя статью целиком, вы не разобрались, то, как говорил один из моих преподавателей: «Ничего страшного. Главное знать, что существуют подобные способы и методы и, когда от этого будет зависеть ваш доход, вы сразу вспомните и очень быстро во всем разберетесь».
Возможно когда-нибудь сделаю универсальный файл для составления прогнозов с подробным описанием. А лучше сразу не игру-убийцу времени, а приложение с рекламой. Где разработчики? Excel не всем под силу.