Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копировать сдвоенные ячейки из одной таблицы в другую - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Копировать сдвоенные ячейки из одной таблицы в другую
timotv Дата: Вторник, 05.03.2024, 22:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
Как скопировать значения ячеек из одной таблицы в другую, при следующих условиях:
1. каждая строка в обоих таблицах сдвоенная, а два последних столбца содержат по две ячейки.
2. ячейка ищется по имени столбца и имени строки

Таблица источник - лист "Активы"
Таблица назначения - лист "Цели"
https://docs.google.com/spreads....sharing

Gustav, помогите, ще раз, пожалуйста :)
 
Ответить
СообщениеКак скопировать значения ячеек из одной таблицы в другую, при следующих условиях:
1. каждая строка в обоих таблицах сдвоенная, а два последних столбца содержат по две ячейки.
2. ячейка ищется по имени столбца и имени строки

Таблица источник - лист "Активы"
Таблица назначения - лист "Цели"
https://docs.google.com/spreads....sharing

Gustav, помогите, ще раз, пожалуйста :)

Автор - timotv
Дата добавления - 05.03.2024 в 22:30
Gustav Дата: Вторник, 05.03.2024, 22:59 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Gustav, помогите, ще раз

Ну, может, и помогу. Если пойму, что сделать надо. Пока не очень понимаю. В листе "Цели", вообще-то, формулы вижу. Вы на них копировать собираетесь? Затирать эти формулы? Напишите, какой диапазон с листа "Активы" нужно скопировать в какой диапазон листа "Цели".


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Gustav, помогите, ще раз

Ну, может, и помогу. Если пойму, что сделать надо. Пока не очень понимаю. В листе "Цели", вообще-то, формулы вижу. Вы на них копировать собираетесь? Затирать эти формулы? Напишите, какой диапазон с листа "Активы" нужно скопировать в какой диапазон листа "Цели".

Автор - Gustav
Дата добавления - 05.03.2024 в 22:59
timotv Дата: Среда, 06.03.2024, 08:39 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
Gustav,
Да там есть формулы, но они кривые. Нужно формулы затирать.
Нужно скопировать T4:Z5 в B13:J15
1) у меня не получилось сделать так, чтобы формула заработала для столбца "Кол-во активов" - почему-то функция ПОИСКПОЗ не может найти "Кол-во активов", поэтому пришлось извращаться со смещением адреса относительно столбца "Активы", вот и вышло:
=ЕСЛИОШИБКА(ВПР($C13;'Активы'!$C$4:$Z$11;ПОИСКПОЗ($D$12;'Активы'!$C$3:$X$3);0);"")
2) я не знаю как скопировать задвоенную ячеку 'Активы'!Y5 в 'Цели'!I14
 
Ответить
СообщениеGustav,
Да там есть формулы, но они кривые. Нужно формулы затирать.
Нужно скопировать T4:Z5 в B13:J15
1) у меня не получилось сделать так, чтобы формула заработала для столбца "Кол-во активов" - почему-то функция ПОИСКПОЗ не может найти "Кол-во активов", поэтому пришлось извращаться со смещением адреса относительно столбца "Активы", вот и вышло:
=ЕСЛИОШИБКА(ВПР($C13;'Активы'!$C$4:$Z$11;ПОИСКПОЗ($D$12;'Активы'!$C$3:$X$3);0);"")
2) я не знаю как скопировать задвоенную ячеку 'Активы'!Y5 в 'Цели'!I14

Автор - timotv
Дата добавления - 06.03.2024 в 08:39
Gustav Дата: Среда, 06.03.2024, 12:00 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Уточним терминологию. Познакомившись с задачей поближе, полагаю, что речь всё же идёт не о буквальном копировании (которое Ctrl+C, Ctrl+V) значений с листа "Активы" на лист "Цели", а о "подтягивании" этих значений с помощью формул.

Формулы для листа "Цели" у меня получились такие:
для ячейки D13:
[vba]
Код
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))
[/vba]
для ячейки I14:
[vba]
Код
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$Y$5:$Z$11}; SEQUENCE(1;2;2); 0)))
[/vba]

Далее на листе "Цели" выделяем диапазон D13:J14, копируем его и вставляем ниже в диапазон с ЧЁТНЫМ количеством строк, например, в D15:J22 (получается 8 строк, что правильно, потому что число 8 - чётное)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеУточним терминологию. Познакомившись с задачей поближе, полагаю, что речь всё же идёт не о буквальном копировании (которое Ctrl+C, Ctrl+V) значений с листа "Активы" на лист "Цели", а о "подтягивании" этих значений с помощью формул.

Формулы для листа "Цели" у меня получились такие:
для ячейки D13:
[vba]
Код
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))
[/vba]
для ячейки I14:
[vba]
Код
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$Y$5:$Z$11}; SEQUENCE(1;2;2); 0)))
[/vba]

Далее на листе "Цели" выделяем диапазон D13:J14, копируем его и вставляем ниже в диапазон с ЧЁТНЫМ количеством строк, например, в D15:J22 (получается 8 строк, что правильно, потому что число 8 - чётное)

Автор - Gustav
Дата добавления - 06.03.2024 в 12:00
timotv Дата: Среда, 06.03.2024, 13:03 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
Цитата

о "подтягивании" этих значений с помощью формул.

Да

для ячейки D13:
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))

Эта формула не сработала , говорит некуда выводить массив, см. файл.

Цитата

для ячейки I14:

=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$Y$5:$Z$11}; SEQUENCE(1;2;2); 0)))

- эта формула сработала.

А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?


Сообщение отредактировал timotv - Среда, 06.03.2024, 13:04
 
Ответить
Сообщение
Цитата

о "подтягивании" этих значений с помощью формул.

Да

для ячейки D13:
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))

Эта формула не сработала , говорит некуда выводить массив, см. файл.

Цитата

для ячейки I14:

=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$Y$5:$Z$11}; SEQUENCE(1;2;2); 0)))

- эта формула сработала.

А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?

Автор - timotv
Дата добавления - 06.03.2024 в 13:03
Gustav Дата: Среда, 06.03.2024, 13:10 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Эта формула не сработала , говорит некуда выводить массив, см. файл.

Так а Вы свои старые-то при этом удалите. Моя формула - массивная, ей нужно место чтобы развернуться вправо.

Вторую формулу надо было в I14 поместить, на не в J14 (это я исправил в вашем файле)

А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?

Можно. Напишу чуть позже.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Эта формула не сработала , говорит некуда выводить массив, см. файл.

Так а Вы свои старые-то при этом удалите. Моя формула - массивная, ей нужно место чтобы развернуться вправо.

Вторую формулу надо было в I14 поместить, на не в J14 (это я исправил в вашем файле)

А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?

Можно. Напишу чуть позже.

Автор - Gustav
Дата добавления - 06.03.2024 в 13:10
Gustav Дата: Среда, 06.03.2024, 13:18 | Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?


Честно говоря, сначала повёлся, а сейчас задумался. А чем Вам не нравится этот адрес? Указан конкретный диапазон. А Вы что хотите получить-то? Тот же адрес, только обернутый во что-то? Во ЧТО? Искать по имени в шапке нужно в каком-то диапазоне - в КАКОМ именно?

По смыслу диапазон 'Активы'!$Y$5:$Z$11 - это два последних столбца общего диапазона для ВПР 'Активы'!$T$4:$Z$10, смещенные на одну строку вниз. Если диапазон $T$4:$Z$10 кажется Вам легитимным (его же не просите поменять и расписать через заголовки), то выразить через него диапазон $Y$5:$Z$11 можно, например, через функцию СМЕЩ (OFFSET):

[vba]
Код
'Активы'!$Y$5:$Z$11 = OFFSET('Активы'!$T$4:$Z$10;1;5;;2)
[/vba]
Так устроит? Если нет, то изложите поподробнее что именно хотите получить.

P.S. И еще такой момент. Моя формула вводится в одном экземпляре в самую левую ячейку строки диапазона, но вычисляет она при этом значение не только этой ячейки, но еще и нескольких ячеек строки, расположенных правее. Одна формула, введенная в D13, вычисляет 5 значений ячеек: D13, E13, F13, G13, H13. А Вы хотите вернуться к отдельным формулам в каждой из этих пяти ячеек? Так это же регресс, дауншифтинг %)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Среда, 06.03.2024, 13:54
 
Ответить
Сообщение
А можно как-то отвязаться от конкретного адреса $Y$5:$Z$1, а привязаться к имени (в шапке) столбца ?


Честно говоря, сначала повёлся, а сейчас задумался. А чем Вам не нравится этот адрес? Указан конкретный диапазон. А Вы что хотите получить-то? Тот же адрес, только обернутый во что-то? Во ЧТО? Искать по имени в шапке нужно в каком-то диапазоне - в КАКОМ именно?

По смыслу диапазон 'Активы'!$Y$5:$Z$11 - это два последних столбца общего диапазона для ВПР 'Активы'!$T$4:$Z$10, смещенные на одну строку вниз. Если диапазон $T$4:$Z$10 кажется Вам легитимным (его же не просите поменять и расписать через заголовки), то выразить через него диапазон $Y$5:$Z$11 можно, например, через функцию СМЕЩ (OFFSET):

[vba]
Код
'Активы'!$Y$5:$Z$11 = OFFSET('Активы'!$T$4:$Z$10;1;5;;2)
[/vba]
Так устроит? Если нет, то изложите поподробнее что именно хотите получить.

P.S. И еще такой момент. Моя формула вводится в одном экземпляре в самую левую ячейку строки диапазона, но вычисляет она при этом значение не только этой ячейки, но еще и нескольких ячеек строки, расположенных правее. Одна формула, введенная в D13, вычисляет 5 значений ячеек: D13, E13, F13, G13, H13. А Вы хотите вернуться к отдельным формулам в каждой из этих пяти ячеек? Так это же регресс, дауншифтинг %)

Автор - Gustav
Дата добавления - 06.03.2024 в 13:18
timotv Дата: Среда, 06.03.2024, 14:23 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
Искать по имени в шапке нужно в каком-то диапазоне - в КАКОМ именно?

Да, искать по шапке по строке 'Актив', начиная со столбца E до столбца AG. Искать нужно по имени шапки нужно по двум причинам:
1) количество и состав столбцов в таблице "Цели" в ближайшем будещем, в большой вероятностью, изменится. Поэтому формула с массивом уже не сработает. Т.е. я, или кто-то другой, при добавлении/удалении столбцов в таблице Цели может не обратить внимание на формулу и доспустить ошибку.
2)чтобы можно было быстро перепроверять наличие ошибок в формуле на листе "Цели" при последущих изменениях таблицы - глянул в формулу, нашел там имя шапки или ссылку на имя шапки и убедился, что формула собирает верные данные с листа "Актив".
К примеру, вот я задействовал вашу формулу в D13:
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))

Отсюда сложно понять из каких ячеек беруться данные.
 
Ответить
Сообщение
Искать по имени в шапке нужно в каком-то диапазоне - в КАКОМ именно?

Да, искать по шапке по строке 'Актив', начиная со столбца E до столбца AG. Искать нужно по имени шапки нужно по двум причинам:
1) количество и состав столбцов в таблице "Цели" в ближайшем будещем, в большой вероятностью, изменится. Поэтому формула с массивом уже не сработает. Т.е. я, или кто-то другой, при добавлении/удалении столбцов в таблице Цели может не обратить внимание на формулу и доспустить ошибку.
2)чтобы можно было быстро перепроверять наличие ошибок в формуле на листе "Цели" при последущих изменениях таблицы - глянул в формулу, нашел там имя шапки или ссылку на имя шапки и убедился, что формула собирает верные данные с листа "Актив".
К примеру, вот я задействовал вашу формулу в D13:
=ArrayFormula(IFNA(VLOOKUP($C13; {'Активы'!$C$4:$C$10\'Активы'!$T$4:$Z$10}; SEQUENCE(1;7;2); 0)))

Отсюда сложно понять из каких ячеек беруться данные.

Автор - timotv
Дата добавления - 06.03.2024 в 14:23
timotv Дата: Среда, 06.03.2024, 14:25 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
А Вы хотите вернуться к отдельным формулам в каждой из этих пяти ячеек? Так это же регресс, дауншифтинг %)

Получается, что регресс. Но зато исключает человеческий фактор при кромсании столбцов на листе Цели
 
Ответить
Сообщение
А Вы хотите вернуться к отдельным формулам в каждой из этих пяти ячеек? Так это же регресс, дауншифтинг %)

Получается, что регресс. Но зато исключает человеческий фактор при кромсании столбцов на листе Цели

Автор - timotv
Дата добавления - 06.03.2024 в 14:25
timotv Дата: Среда, 06.03.2024, 14:46 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
искать по шапке по строке 'Актив', начиная со столбца E до столбца AG.


Для упрощения задачи: искать по строке № 3 от столбца E до столбца AG. Потому что добавление /убавление строк над таблицей листа Актив маловероятно и не приведет к проблемам
 
Ответить
Сообщение
искать по шапке по строке 'Актив', начиная со столбца E до столбца AG.


Для упрощения задачи: искать по строке № 3 от столбца E до столбца AG. Потому что добавление /убавление строк над таблицей листа Актив маловероятно и не приведет к проблемам

Автор - timotv
Дата добавления - 06.03.2024 в 14:46
Gustav Дата: Среда, 06.03.2024, 15:09 | Сообщение № 11
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Получается, что регресс.

Ну, всё, вроде достиг некоторой гармонии - и в каждой ячейке своя формула, и продвинутые функции XLOOKUP и XMATCH используются.

Формула для ячейки D13 листа "Цели" (и далее копируем ее правее - в ячейки диапазона E13:J13):
[vba]
Код
=XLOOKUP($C13; 'Активы'!$C$4:$C$10; INDEX('Активы'!$D$4:$AG$10; 0; XMATCH(D$12;'Активы'!$D$3:$AG$3)))
[/vba]
Формула для ячейки I14 листа "Цели" (и далее копируем ее правее - в ячейку J14):
[vba]
Код
=XLOOKUP($C13; 'Активы'!$C$4:$C$10; INDEX(OFFSET('Активы'!$D$4:$AG$10;1;0); 0; XMATCH(I$12;'Активы'!$D$3:$AG$3)))
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Получается, что регресс.

Ну, всё, вроде достиг некоторой гармонии - и в каждой ячейке своя формула, и продвинутые функции XLOOKUP и XMATCH используются.

Формула для ячейки D13 листа "Цели" (и далее копируем ее правее - в ячейки диапазона E13:J13):
[vba]
Код
=XLOOKUP($C13; 'Активы'!$C$4:$C$10; INDEX('Активы'!$D$4:$AG$10; 0; XMATCH(D$12;'Активы'!$D$3:$AG$3)))
[/vba]
Формула для ячейки I14 листа "Цели" (и далее копируем ее правее - в ячейку J14):
[vba]
Код
=XLOOKUP($C13; 'Активы'!$C$4:$C$10; INDEX(OFFSET('Активы'!$D$4:$AG$10;1;0); 0; XMATCH(I$12;'Активы'!$D$3:$AG$3)))
[/vba]

Автор - Gustav
Дата добавления - 06.03.2024 в 15:09
timotv Дата: Среда, 06.03.2024, 16:29 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Microsoft 365
Gustav,
Спасибо!
Помогая тут на форуме людям, ты спасаешь человечество от уныния, психических расстройств, и деградации !
 
Ответить
СообщениеGustav,
Спасибо!
Помогая тут на форуме людям, ты спасаешь человечество от уныния, психических расстройств, и деградации !

Автор - timotv
Дата добавления - 06.03.2024 в 16:29
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!