
У меня есть две формулы. В качестве примера для этого вопроса предположим, что у меня есть рабочая книга, которая по сути является базой данных CD. Она содержит всю обычную информацию, которую вы ожидаете. Эта рабочая книга называется Album.xls
.
У меня также есть еще одна рабочая книга под названием Data.xls
, которая содержит ряд рабочих листов; каждый рабочий лист извлекает разные данные из Album.xls
.
Как вы знаете, на разных музыкальных компакт-дисках количество дисков в альбоме разное: на некоторых может быть только один диск, на некоторых — два, на других — три и так далее.
В Album.xls
вся информация для каждого отдельного CD содержится в строках (один CD в строке). Информация о количестве дисков находится в столбце F. Данные всегда являются числом, поэтому диск 1 (в альбоме/названии) представлен числом 1, диск 2 — числом 2 и так далее до максимум 8 дисков.
У меня есть рабочий лист, в Data.xls
котором я пытаюсь подсчитать количество дисков для каждого названия; например, сколько дисков у конкретного альбома.
Для этого я использую две формулы, приведенные ниже, но я уверен, что делаю это неоправданно длинно или, может быть, даже неправильно, поэтому мне интересно, может ли кто-нибудь предложить лучший способ.
В моем рабочем листе по подсчету дисков Data.xls
...
В каждой ячейке столбца А у меня есть
=IF(OR([Album.xls]Track!$F$2=1), "Disc 1", IF(OR([Album.xls]Track!$F$2=2), "Disc 2", ""))
Для каждой ячейки вниз ссылка на ячейку в формуле увеличивается на 1, поэтому в A1
ссылке на ячейку будет $F$2
, в A2
ее $F$3
— и так далее...
Идея заключается в том, что эта формула просматривает столбец F Album.xls
и для каждой ячейки в столбце F, если она находит число 1, она отображает Disc 1
; если она находит число 2, она отображает Disc 2
; и так далее...
В каждой ячейке столбца BI есть
=INDEX($A$2:$A$400, MATCH(0,INDEX(COUNTIF($B$1:B4,$A$2:$A$20),0,0),0))
Здесь рассматриваются результаты первой формулы в столбце A и возвращаются только уникальные значения. Таким образом, если в альбоме компакт-дисков 3 диска, в верхних трех ячейках отобразятся:
Disc 1
Disc 2
Disc 3
Если бы было 5 дисков, то отображалось бы:
Disc 1
Disc 2
Disc 3
Disc 4
Disc 5
И так далее...
Извините, если это длинно; я уверен, что мой новичок уже проявил себя, и я прохожу этот трудный путь, поэтому надеюсь поучиться у вас.
решение1
Для столбца A можно использовать:
="Disc "&[CATraxx_Album.xls]Track!$F2
это даст вывод «Диск X», где X — это значение в [CATraxx_Album.xls]Трек!$F2.
Оператор амперсанда (&) объединяет строки в формуле Excel, поэтому ="A"&"B"
выведет AB. Это очень полезный оператор, так как вы можете использовать его для объединения многих вещей, например ="hello "&C1&", nice to meet you! My name is "&C2&"."
(где C1 и C2 будут содержать имена).
Обратите внимание, что я также удалил знак доллара между F и 2 в формуле для столбца A. Это означает, что при перетаскивании этой формулы вниз число F будет увеличиваться, что, как я полагаю, вам и нужно (вы говорите, что A1 должна ссылаться на F2, A2 — на F3 и т. д.).
Хотя вы указали, что делает столбец B, вы не сказали, что с ним не так или как вы хотите изменить вывод. Если вы сообщите мне, что вы хотите изменить в этом выводе, я могу улучшить свой ответ, чтобы рассмотреть и это.