[identity profile] sunnycat.livejournal.com posting in [community profile] useful_faq
У меня опеноффис. Работаю с экселевскими файлами.
Вопрос - можно ли каким то образом отловить два повторных значения в одном столбце? скажем есть у меня столбец
2
3
4
5
5
6
7
7
7
8
9
10

- вот как в нем отловить 5 5, 7 7 7? кроме как ручками? :)))
Файлик на полторы тыщи строк :(

УТОЧНЯЮ! Я НЕ знаю есть ли там повторы и НЕ знаю какое у них значение. Я лишь предполагаю что они там могут быть...

Date: 2006-02-10 05:46 pm (UTC)
From: [identity profile] ex-neromanti843.livejournal.com
Я в Эксцеле не большой специалист, но если у вас имеется SQL Server, там есть стандартная процедура для DTS package, которая импортирует Excel file, обрабатывает стандартным T-SQL (SELECT DISTINCT) и возвращает обратно.

Date: 2006-02-10 05:50 pm (UTC)
From: [identity profile] ex-neromanti843.livejournal.com
Отбой с SQL. Вот, в хэлпе все расписано:

Filter for unique records

Select the column or click a cell in the range or list you want to filter.
On the Data menu, point to Filter, and then click Advanced Filter.
Do one of the following.
To filter the range or list in place, similar to using AutoFilter, click Filter the list, in-place.
To copy the results of the filter to another location, click Copy to another location. Then, in the Copy To box, enter a cell reference.
To select a cell, click Collapse Dialog to temporarily hide the dialog box. Select the cell on the worksheet, and then press Expand Dialog .

Select the Unique records only check box.

Note Once you filter for unique values, you can copy them to another worksheet and then archive or delete the original worksheet.

Date: 2006-02-10 06:02 pm (UTC)
From: [identity profile] ex-neromanti843.livejournal.com
Тогда извиняюсь. В конторе дяди Билла нам никаких OpenOffiсов не положено :(

Date: 2006-02-10 05:50 pm (UTC)
From: [identity profile] ablem.livejournal.com
Да, выделяешь весь столбец (исключая название), и дальше идешь в меню "Данные" -- "Фильтр" -- "Автофильтр". Если все сделала правильно, то в шапке столбца появится выплывающее меню, позволяющее выбрать любое значение.

Date: 2006-02-10 05:57 pm (UTC)
From: [identity profile] ablem.livejournal.com
На здоровье :) Кстати, так как я по долгу службы тоже сталкиваюсь с большими экселевскими таблицами, поделюсь еще способом: автофильтр иногда подглючивает при больших объемах информации (файлы больше 5 метров), так что я, чтобы быстро найти одинаковые строки пользуюсь поиском Ctrl+F :)

Date: 2006-02-10 06:07 pm (UTC)
From: [identity profile] ablem.livejournal.com
Ой, да. Тогда как найти НЕизвестные значения, я не знаю :((

Date: 2006-02-10 05:58 pm (UTC)
From: [identity profile] ablem.livejournal.com
Все правильно, ты выбираешь одно, нужное тебе значение, и он тебе выводит все строки с этим значением.

Date: 2006-02-10 05:52 pm (UTC)
From: [identity profile] dinarik.livejournal.com
автофильтр

Date: 2006-02-10 06:06 pm (UTC)
From: [identity profile] maf-angel.livejournal.com
Есть самый простой способ. вернее самый дубовый.
Рисуешь рядом второй столбец, из сплошных единичек.
в третий столбец в ячейку А забиваешь формулу
СУММЕСЛИ($A$1:$A$100000;A1;$B$1:$B$100000)
получаешь колво повторов. и по третьему столбцу можешь и сделать автофильтр.

(интересно есть такая формула в openOffice... $)

Date: 2006-02-10 06:10 pm (UTC)
From: [identity profile] kvertiber.livejournal.com
Допустим, ваши цифры в столбце A. В ячейке B1 пишете =(A1=A2). Протягиваете формулу вниз. Делаете фильтр по столбцу B на значение FALSE. Получаете столбец с убранными повторами.

Date: 2006-02-10 06:19 pm (UTC)
From: [identity profile] kvertiber.livejournal.com
Они, по идее, должны просто стать скрытыми. По крайней мере, в Экселе так.

Попробуйте так: Добавьте в столбце C последовательность
1
2
3
4
etc.
Сделайте сортировку по столбцу B. Получите отдельно уникальные значения, отдельно повторные. После этого можно вернуть исходный порядок, сделав сортировку по столбцу C.

Date: 2006-02-10 06:21 pm (UTC)
From: [identity profile] manaka.livejournal.com
в принципе наверное можно написать макрос, под эксель когда-то такое писал.
Посмотрел в опен офисе, вроде бы они есть.
Сейчас хелп почитаю.

значение ячеек целочисленные?

Date: 2006-02-10 07:42 pm (UTC)
From: [identity profile] bambik.livejournal.com
Если значения в столбце А, то в В поставь формулу =IF(A1=A2,"povtor","-")
Это в экселе работает, в твоей программе, не знаю.

Date: 2006-02-10 07:48 pm (UTC)
From: [identity profile] bambik.livejournal.com
ничего не делает.
Это будет выглядеть так
1 -
2 -
5 -
7 povtor
7
2
6 povtor
6
2

Date: 2006-02-10 07:48 pm (UTC)
From: [identity profile] bambik.livejournal.com
попробуй убрать = в начале

Date: 2006-02-10 07:49 pm (UTC)
From: [identity profile] bambik.livejournal.com
может синтаксис не как в экселе, но думать надо в этом направлении

Date: 2006-02-10 07:52 pm (UTC)
From: [identity profile] bambik.livejournal.com
Трудно представить, но может ему if не нравится и надо по-русски? С русским экселом я никогда не работала.

Date: 2006-02-10 08:01 pm (UTC)
From: [identity profile] bambik.livejournal.com
хочешь послать файл, посмотрю?

Date: 2006-02-10 08:59 pm (UTC)
From: [identity profile] rkdeik.livejournal.com
Да макросик перебора и сравнения быстро написать и все дела. Тока вот не знаю - есть в OpenOffice такая функция. Если есть и синтаксис похож - могу покопаться у себя - где-то был подобный.

Date: 2006-02-10 09:30 pm (UTC)
From: [identity profile] rkdeik.livejournal.com
Типа этого:

Sub Выявление_повторения()
i = 2
Do Until Лист1.Cells(i, 1) = ""
If Лист1.Cells(i, 1) = Лист1.Cells(i - 1, 1) Then
Лист1.Cells(i, 2) = "Повторение" & " " & Лист1.Cells(i, 1)
Лист1.Cells(i - 1, 2) = "Повторение" & " " & Лист1.Cells(i, 1)
End If
i = i + 1
Loop
End Sub

Работает. На любом MO.