как сравнить определённые колонки с данными? [РЕШЕНО]

Автор 790, 2 августа 2010, 03:01

0 Пользователи и 1 гость просматривают эту тему.

790

Имеется такая таблица:



В некоторых колонках в первой строке значения одинаковы. (НЕ-одинаковые значения уже скрыты в пустых ячейках с помощью COUNTIF<1 = "не показывать"). Нужно сравнить именно эти колонки с одинаковым значением в первой строке по параметрам в строках под ними (последовательно), чтобы выяснить какая же колонка "круче"  :)

Например, колонки A, K, L имеют одинаковое значение 37.
Нужно сравнить их параметр 1, а если и он равен, тогда 2 и т.д. и затем расставить их по местам "крутости".
В общем, "проблема" в том, как объяснить проге, что сравнивать надо именно A, K, L, а не всё.

convas

#1
OOo Calc сортирует данные по умолчанию по стобцам. Здесь же нужно сортировать по строкам.

Простейшее решение:

1.Транспонировать данные (строки -> столбцы).
2.Сортировать по столбцам.


[вложение удалено Администратором]

790

Транспонировать получилось.
А вот сортировать не хочет. Не понимаю пока как у тебя третья "табличка" получилась так чтоб всё подряд?

convas

#3
Копировать область A11:E24

Вставить в A31:E44 (Вставить как ... - Текст, Числа !!!)

Сортировать A31:E44



[вложение удалено Администратором]

convas

Но можно еще и переключить сортировку со столбцов на строки.

И отсортировать сразу исходную область.

См. картинки


[вложение удалено Администратором]

790

Во! теперь дошло! оказывается Calc отказывался сортировать "ячейки с формулами". После того как скопировал только числа, сортировка заработала. И по строкам, и по столбцам.

790

да нефига не [РЕШЕНО] :) Такое решение подходит для сортировки одноразовых статичных данных. А у меня данные постоянно изменяются.

Но самое главное, что эта таблица мне нужна для необразованых и неподготовленых к Exel граждан, которые должны вводить только простые начальные данные, а результат получать автоматом.

VlhOwn

#7
790, Вы слишком многого хотите от Calc.
Электронные таблицы статичны по природе своей. В том смысле, что все вычисления жестко привязаны к ячейке, определяемой ее местоположением, отсутствуют итераторы для обхода последовательности ячеек, организации циклов обработки и т.п. Например, Вы не можете одним действием поменять местами значения двух соседних ячеек, для этого нужно три действия над тремя разными(!!!) ячейками, привязанные к этим ячейкам. Обрабатывая ячейку, Вы не можете в зависимости от результатов этой обработки менять содержимое других ячеек.
Все эти проблемы можно решить, перейдя от чистого Calc к использованию макросов. Тут Вы вольны делать что угодно. Но ценой этому будет невозможность использовать документ в системах, отличных от ООо.

Может быть Вы неправильно выбрали механизм? Попробуйте сформулировать исходную задачу, может быть Вам подскажут более адекватное решение.


P.S. В существующей постановке Ваша задача легко решается средствами BASE.

dr.Faust

2 790
А поставте-ка задачу поточнее...
Известен ли максимум возможных значений во всех колонках? Если нет, то возможно, что макимум колонки всегда в первой строке (на рисунке это так)?
В каком виде надо (можно) отобразить результат?
Свобода информации - свобода личности!

790

Я придумаю и сделаю какой-нибудь "пример-образец" и вставлю сюда, иначе, чувствую, что этот разговор бесполезен.