↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
Анаптикс
20 декабря 2020
Aa Aa
#фанфикс_образовательный #фанфикс_знает_все #проблемы_белого_человека

Знатоки Exel, отзовитесь))

Вот у меня есть два листа с данными, мне нужно вставить на лист 1 данные из ячейки на листе 2 с наименьшим количеством кликов. Это можно сделать элементарно путем ссылки на ячейку на листе 2: =' Лист2 '!A9 - допустим
Но есть одна проблема, если лист 2 в дальнейшем подвергается обработке, например, появляются новые строчки, потом я отсортирую все по алфавиту, и какая-нибудь "фиговина1" в ячейке А9 уедет в ячейку А14, а в ячейке А9 появится "фиговина2"... и в листе 1 наступит хаос и мордор.
Надеюсь, я понятно объяснила.

Есть ли какой-то элегантный способ решить эту проблему?
Или единственный доступный выход, это унылый копипаст "фиговины1" с одного листа на другой?

Гугл меня не понял)))
20 декабря 2020
17 комментариев из 18
Насчёт элегантности решения не уверен, но я всегда сохраняю один лист чисто под данные, ничего не мешает сделать копию листа 2 на листе 3 и там уже вносить изменения, при которых фиговина 1 в ячейке А9 станет фиговиной 2. Только обычно у меня лист данных это лист 1, а все изменения происходят в последующих листах.
ElenaBu Онлайн
Там не должен наступить хаос, потому что ссылка будет вести на конкретную ячейку. То, что у ячейки поменяется имя, ничего не изменит. Не должно.
Яэль Киршенбаум
вставить как значение это и есть копипаст)

Гламурное Кисо
не, мне бы хотелось минимализировать количество листов

так-то, по идее, можно бы просто не менять ничего в листе 2, новые данные добавлять дальше, и ничего съезжать не будет.
Но красоту не наведешь тогда.

ElenaBu
я проверила уже, меняется. ссылка ведет на ячейку А9. Когда сортируешь лист, в ячейке А9 оказываются другие данные, и все ломается.

Если что, это в гугл таблицах.
Яэль Киршенбаум
Анаптикс
В смысле? После того, как вы вставили формулы, (ячейка 1 = лист2! ячейка 1), просто выделяет все клетки на листе1, копируете и вставляете. Это намного меньше движений, чем копипастить каждую клетку
Анаптикс
в экселе не меняется ячейка при наведение красоты.
она может сменить имя, если будет меняться место (добавляться/убавляться строки/столбцы), но ссылка будет вести по-прежнему на указанную ячейку.
Яэль Киршенбаум
да, кстати, тоже о таком думала, сначала вставлять, потом целым листом отредактировать. Как вариант.

Хэлен
вот сейчас скачаю гугл таблицу в эксель и проверю. Потому что в гугл таблице меняется.
Хэлен
таки когда добавляешь столбцы - не меняется, а когда сортируешь данные, то меняется. Ячейка остается той же самой, а данные уехали.
Анаптикс
у меня никуда не уезжает.
у вас все столбцы/ячейки заполнены? уехать может только если вокруг пустота.
Хэлен
странно...

смотрите, как у меня:
лист 2 заполнен диапазон А1-А9 фиговинами 1-9.
Я сортирую для проверки фиговины в обратном порядке, тогда в ячейке А9 получается фиговина1.

В листе 1 я делаю ссылку на ячейку А9. Там должна быть фиговина9.
Когда я сортирую лист2 в обратном порядке, на листе1 отображается фиговина1.
Если я ничего не путаю, в Excel есть просто ссылка на ячейку, а есть какая-то постоянная - если вставляешь новые колонки и строки, то ссылки на нее тоже "переезжают" - кажется, нужно какие-то скобки использовать, толи круглые, толи квадратные. Но я могу путать с уровнем листа, а не собственно ячейки.
Feature in the Dust
вот я пыталась это нагуглить, но все не то.

Вообще я тут заполняю таблицу и поняла, что мне проще один раз скопировать, а потом автозаполнять, потому как по большей части я все равно буду заполнять скопом данные с одного источника, потом с другого. Тыкать по сто раз на другой лист не надо.

Но просто любопытно стало, есть такая функция или нет.
Анаптикс
0_о
видимо, где-то есть настройка отдельная.
у меня не так
Хэлен
вот еще бы узнать, где эта настройка!
При сортировке что-то там с диапазоном.
Вообще, ситуация по описанию напоминает вариант, когда пора переходить на SQL и БД.
;-)
В Exel помогает функция ВПР. Правда объяснять сложно. Но попробуем.
Синтаксис:
= ВПР (ключ для поиска; таблица поиска;колонка для извлечения;признак)
Как она работает? Допустим, у нас есть таблица - какой клиент сколько принес денег и за что. Столбцы - Фамилия, сумма, услуга
Например:
Деленн | 1650 | пересадка волос
Моллари| 50 | стрижка
Леньер| 17| полировка лысины
Кош| 90 | протирка скафандра

Для простоты объяснения таблица лежит в ячейках А1:С4 на Листе 1. Символами | я отделил ячейки друг от друга.

Задача: в отдельную таблицу (пусть и на другом листе) нам надо выдернуть данные по Леньеру и Деленн.

Функция =ВПР ('Леньер';Лист1!$А$1:$С$4;3;ЛОЖЬ) выдаст нам результат "полировка лысины". Как именно?

1. Функция ищет ключ "Леньер" в крайней слева колонке таблицы что мы указали в функции ВПР - А1:С4 на Листе 1.
2. Функция берет ту строку, где есть первое точное совпадение (так как признак = ЛОЖЬ). Это будет строка "Леньер| 17| полировка лысины"
3. Из данной строки ВПР выдернет значение третьей ячейки слева (3 - ибо цифру 3 мы поставили в ВПР. Первая ячейка- Леньер, вторая - 17, третья - полировка лысины). Это и есть результат.

Соответственно, на листе 2 формируем следующую таблицу (расположена в ячейках А1:В2):
A | B
Леньер | =ВПР (A1;Лист1!$А$1:$С$4;3;ЛОЖЬ)
Деленн |
Вместо слова "Леньер" указание на ячейку с этим словом.

Протаскиваем формулу вниз и получим следующую таблицу:
A | B
Леньер | =ВПР (A1;Лист1!$А$1:$С$4;3;ЛОЖЬ)
Деленн | =ВПР (A2;Лист1!$А$1:$С$4;3;ЛОЖЬ)

Символы $ стоят для того, чтобы при протаскивании функции вниз адресация таблицы не сдвинулась.

Или, если брать значения:
A | B
Леньер | полировка лысины
Деленн | пересадка волос

А что теперь будет если в исходной таблице отсортировать строки, например, по стоимости? Главное сделать это правильно, чтобы отсортировалась не только колонка В, но и вместе с ней сдвинулись остальные колонки. То есть получить примерно это:

Леньер| 17| полировка лысины
Моллари| 50 | стрижка
Кош| 90 | протирка скафандра
Деленн | 1650 | пересадка волос

Функция ВПР по-прежнему будет искать в таблице Лист1!$А$1:$С$4 первую сверху строчку, где в крайней левой колонке есть слово "Леньер". По-прежнему найдет строку "Леньер| 17| полировка лысины", которая, правда, здесь находится в ином месте. По-прежнему выдернет нужное - третье слева значение. Тоже самое для Деленн.

Результат достигнут!

Нюансы:
1. Ключ (то, по чему ищут, в примере - слово Леньер) - должен быть уникален, не должен повторяться. Можно в качестве ключа использовать цифры.
2. Если мы заменим в исходной таблице данные, то они изменятся и в новой. Поменяем Леньера на Дукхата - и ВПР не найдет Леньера в таблице и выдаст ошибку. Заменим "полировка лысины" на "замазывание синяков" - и ВПР выдаст "замазывание синяков"
3. Надо быть осторожным с добавлением и удалением строк в таблице с исходными данными. Если мы просто допишем строку снизу, то ВПР её не увидит - у нас-то зафиксированы строки с 1 по 4, и что там на 5й, 6й... функции неинтересно. Надо либо менять адрес таблицы в функции и снова протаскивать её (что не сложно), либо добавлять строку посередине с помощью функции "вставить строки"... и проверять, что будет. Exel должен сам изменить адрес в функции.
Показать полностью
МТА
спасибо большое за разбор)))

Деленн | 1650 | пересадка волос
Моллари| 50 | стрижка
Леньер| 17| полировка лысины
Кош| 90 | протирка скафандра
Я валяюся))) классные примеры
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть