Привет, форум! Можно ли сделать такой шаблон с помощью формул, необходим по работе:
Есть 10 столбцов с ячейками фразами (1-3 слова), количество фраз в столбцах не постоянно и не ровно. Внутри столбца фразы не дублируются, только между столбцами. В 11-ом столбце надо вывести повторяющиеся фразы (можно и вместе с не повторяющимися), в 12-ом их сумма(число совпадений) по первым 10 столбцам (от 0 до 10 )
Привет, форум! Можно ли сделать такой шаблон с помощью формул, необходим по работе:
Есть 10 столбцов с ячейками фразами (1-3 слова), количество фраз в столбцах не постоянно и не ровно. Внутри столбца фразы не дублируются, только между столбцами. В 11-ом столбце надо вывести повторяющиеся фразы (можно и вместе с не повторяющимися), в 12-ом их сумма(число совпадений) по первым 10 столбцам (от 0 до 10 )WeapeN
Sub unik_() Max = 0 For c = 1 To 10 ilr = Cells(Rows.Count, c).End(xlUp).Row If ilr > Max Then Max = ilr ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, c), Cells(ilr, c)).Copy Range(Cells(ir + 1, 11), Cells(ir + 1 + ilr, 11)) Next c Range(Cells(1, 11), Cells(ir + 1 + ilr, 11)).RemoveDuplicates Columns:=1, Header:=xlYes ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, 12), Cells(ir, 12)).FormulaR1C1 = "=COUNTIF(R2C1:R" & ir & "C10,RC[-1])" End Sub
[/vba]
Добрый день. Вариант макросом [vba]
Код
Sub unik_() Max = 0 For c = 1 To 10 ilr = Cells(Rows.Count, c).End(xlUp).Row If ilr > Max Then Max = ilr ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, c), Cells(ilr, c)).Copy Range(Cells(ir + 1, 11), Cells(ir + 1 + ilr, 11)) Next c Range(Cells(1, 11), Cells(ir + 1 + ilr, 11)).RemoveDuplicates Columns:=1, Header:=xlYes ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, 12), Cells(ir, 12)).FormulaR1C1 = "=COUNTIF(R2C1:R" & ir & "C10,RC[-1])" End Sub
WeapeN, ошибку одну у себя заметил, исправил [vba]
Код
Sub unik_() Max = 0 For c = 1 To 10 ilr = Cells(Rows.Count, c).End(xlUp).Row If ilr > Max Then Max = ilr ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, c), Cells(ilr, c)).Copy Range(Cells(ir + 1, 11), Cells(ir + 1 + ilr, 11)) Next c Range(Cells(1, 11), Cells(ir + 1 + ilr, 11)).RemoveDuplicates Columns:=1, Header:=xlYes ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, 12), Cells(ir, 12)).FormulaR1C1 = "=COUNTIF(R2C1:R" & Max & "C10,RC[-1])" End Sub
[/vba]
WeapeN, ошибку одну у себя заметил, исправил [vba]
Код
Sub unik_() Max = 0 For c = 1 To 10 ilr = Cells(Rows.Count, c).End(xlUp).Row If ilr > Max Then Max = ilr ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, c), Cells(ilr, c)).Copy Range(Cells(ir + 1, 11), Cells(ir + 1 + ilr, 11)) Next c Range(Cells(1, 11), Cells(ir + 1 + ilr, 11)).RemoveDuplicates Columns:=1, Header:=xlYes ir = Cells(Rows.Count, 11).End(xlUp).Row Range(Cells(2, 12), Cells(ir, 12)).FormulaR1C1 = "=COUNTIF(R2C1:R" & Max & "C10,RC[-1])" End Sub