Я хотел бы иметь возможность создать матрицу в ячейке, не обращаясь к другим ячейкам.

Допустим, в A1 у меня будет матрица

2 3 4
1 2 3

с введением чего-то вроде = {2,3,4; 1,2,3} в A1.

Я хотел бы тогда иметь возможность выбрать значения в других ячейках, выполнив что-то вроде A1 (1,2), и это даст мне значение в первом столбце второго столбца, так что "2".

Это возможно? Если нет, мы можем хотя бы сделать это с массивом?

Спасибо yoou

2 ответа2

0

Вы можете записать массив каждого числа в ячейке, начиная с A1 = 2, B1 = 3 C1 = 4 Первая строка и A2 = 1, B2 = 2, C2 = 3, затем в строке A4 и столбце B4 в элементе массива C4, например:
A5 = 1, B5 = 2 в C5 = Offset($A$1,A5-1,B5-1) вас будет "3", которая является первой строкой второго столбца

0

Поместите свои данные в A1 без = и без фигурных скобок:

запустите этот короткий макрос:

Sub SetupCells()
    Dim ary, bry, i As Long, j As Long
    Dim a, b

    ary = Split([A1], ";")
    i = 1
    j = 1

    For Each a In ary
        bry = Split(a, ",")
        For Each b In bry
            Cells(i, j) = b
            j = j + 1
        Next b
        j = 1
        i = i + 1
    Next a
End Sub

производить:

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