подробный пример, но с программным кодом мне очень тяжело разобраться
Мне бы хотя бы эту формулу усовершенствовать =ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($A$2=A2:A16;СТРОКА(B2:B16)-1;"");СТРОКА()-1)) чтобы результаты выводились не в столбец а в строку
Выделение строки , а не столбца пустых ячеек перед вводом формулы проблему не решают(
Я вероятно не совсем понял задачу - моя UDF выводит всё найденное в одну ячейку, через указанный разделитель (можно с повторами, можно без). Если нужно в разные ячейки одной строки - тогда не годится...
=INDEX($B$2:$B$16,SMALL(IF($E$2=$A$2:$A$16,ROW($B$2:$B$16)-1,""),COLUMN()-4)) Формула массива. COLUMN()-4 нужно корректировать по месту, это я писал для E6
Не понял смысла... Сделать можно, но зачем? Мне бы хватило просто разные чеки как-то выделить несложным макросом (цветом, шрифтом, или например пустыми строками) Вот другое дело сделать анализ что с чем чаще покупается или ещё что-то по задаче.
Код
Sub tt()
Dim a(), i&, ii&, k, arr
Application.ScreenUpdating = False
a = [a1].CurrentRegion.Value
With CreateObject("Scripting.Dictionary")
For i = 2 To UBound(a)
.Item(a(i, 1)) = .Item(a(i, 1)) & a(i, 2) & "|"
Next
ii = 1
For Each k In .keys
ii = ii + 1
Cells(ii, 9) = k
arr = Split(.Item(k), "|")
Cells(ii, 10).Resize(1, UBound(arr)) = arr
Next
End With
Application.ScreenUpdating = True
End Sub
Luntay пишет: но задача осталась: товары расположить ... либо через запятую в одной ячейке
Ну тогда сперва стандартно удалить дубликаты в другой столбец, далее UDF по первой ссылке. Или мой макрос, но можно не разбивать по столбцам - так кстати и быстрее будет.