Я пытаюсь скопировать / вставить диапазон ячеек на основе одного критерия. Я попытался использовать функцию IF следующим образом

=IF(B6="RHH1",Sheet2!A4:J15,Sheet2!A18)

Оператор FALSE работает, и отдельная ячейка копируется, но инструкция TRUE завершается с ошибкой #Value .

Я предполагаю, что макрос будет работать, но не уверен даже, с чего начать.

3 ответа3

1

Если вы заинтересованы в достижении этого без использования макроса, вам необходимо ввести значение диапазона в виде формулы массива. Для того, чтобы ввести в качестве формулы массива,

  1. Выберите целевой диапазон такого же размера, как исходный диапазон
  2. Введите формулу
  3. Нажмите Control + Shift + Enter

См. Документацию Microsoft. Представление формул массива в Excel.

0

Проблема здесь в том, что функция (и любая функция) просто пытается установить эту единственную ячейку (именно поэтому она начинается с =) в значение. Он не контролирует ни одну из клеток вокруг него.

Макрос будет работать, вот хорошая отправная точка для изучения макросов. http://office.microsoft.com/en-ca/excel-help/save-time-by-creating-and-running-macros-in-excel-2010-RZ102337714.aspx

0

Решение в два этапа:

  1. Введите следующее в верхнюю левую ячейку желаемого диапазона вывода:

    = IF($ B $ 6 = "RHH1", Лист2!A4, "")

    Заполните это еще на 11 строк, а затем еще на 9 столбцов.

  2. Вернитесь в верхнюю левую ячейку (первую, в которую вы ввели формулу) и измените ее формулу на следующую:

    = IF($ B $ 6 = "RHH1", Лист2!A4, Лист2!A18)

Это должно сделать свое дело.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .