Добавить или добавить в массив без VBA / UDF - PullRequest
3 голосов
/ 13 октября 2011

Есть ли в Excel встроенная формула / функция для добавления или добавления значения в массив? Итак, предположим, у меня есть свой собственный UDF, MyFunc (...), который возвращает массив значений. Могу ли я добавить или предварительно добавить одно значение к этому результату, используя ссылку на одну ячейку?

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Это может быть достигнуто с использованием стандартных функций массива Excel.

Для иллюстрации предположим, что MyFunc равен

Function MyFunc(r As Range) As Variant
    MyFunc = r.Value
End Function

Если переданный диапазон больше одной ячейки, это возвращаетмногомерный массив.

При вводе в виде формулы массива, такой как =D1&MyFunc(A2:C7)&E1, это добавляет D1 и добавляет E1

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

enter image description here

2 голосов
/ 13 октября 2011

Как мы обсуждали в комментариях, здесь возможный ответ:

AFAIK, никакая формула не может сделать это, и в VBA нет функции добавления. Тем не менее, вы можете использовать функцию ConcatenateArrays из Chip Pearson

...