#excel #google-sheets #unique
Вопрос:
Могу ли я создать список уникальных значений из разных столбцов на разных листах? Это может быть в Excel или Google таблицах.
Что-то вроде:
=сортировка(уникальный(столбец 1,столбец 2,столбец 3,ложь,ложь))
Спасибо!
Ответ №1:
да для gs:
=SORT(UNIQUE({Sheet1!A1:A100; B10:B30; Sheet5!C8:C}))
Ответ №2:
Скажем, у нас есть:
и нам нужен отсортированный список элементов в обоих столбцах.
Сначала поместите следующее UDF()
в стандартный модуль:
Public Function stack(ParamArray arr()) As Variant
Dim r As Range, arr_cnt As Long, i As Long, cell_cnt As Long
Dim Liist, Li As Long, rr As Range, ic As Long, ir As Long
Dim iir As Long, iic As Long
arr_cnt = UBound(arr)
cell_cnt = 0
For i = 0 To arr_cnt
Set r = arr(i)
cell_cnt = cell_cnt r.Count
Next i
ReDim Liist(1 To cell_cnt, 1 To 1)
Li = 1
For i = 0 To arr_cnt
Set r = arr(i)
ic = r.Columns.Count
ir = r.Rows.Count
If ic > 1 And ir > 1 Then
For iic = 1 To ic
For iir = 1 To ir
Liist(Li, 1) = r(iir, iic)
Li = Li 1
Next iir
Next iic
Else
For Each rr In r
Liist(Li, 1) = rr.Value
Li = Li 1
Next rr
End If
Next i
stack = Liist
End Function
UDF принимает группу диапазонов и создает массив значений, совместимый с одним столбцом. Выберите ячейку и введите:
=SORT(UNIQUE(stack(A1:A6,C1:C5)))