autoua
×
Это мобильная версия форума. Перейти на обычную версию форума ×
Вход
_K2_ | пАдонАк **
Excel/Access - вапрос
21 августа 2006 в 10:25
Есть массив данных в виде таблицы. ну типа такой:

Аспирин Панадол Ренни
Киев 2 4 5
Харьков 3 7 4
Днепр 4 9 3

Требуется перевести эту таблицу в "строчный массив", чтобы выглядело так:

Киев Аспирин 2
Киев Панадол 4
Киев Ренни 5
Харьков Аспирин 3
Харьков Панадол 7
Харьков Ренни 4
Днепр Аспирин 4
Днепр Панадол 9
Днепр Ренни 3

Как это сделать в Экселе или Аксессе?
MaxiMax | ****
Re: Excel/Access - вапрос
[Re: _K2_] 21 августа 2006 в 10:38
англицкий эксель:
1. выделяешь мышой свой массив данных.
2. Меню Data -> Pivot table and Pivot Chart report
3. Дальше все время топишь Next
4. У тебя появляется форма (слева) и табличка (Справа)
5. Из таблички в форму перетаскивешь значения (Город, аспирин, панадол, етц) нужном тебе порядке и последовательности.

Еси што, в мабиле абисню подробнее.
_K2_ | пАдонАк **
Re: Excel/Access - вапрос
[Re: MaxiMax] 21 августа 2006 в 10:49
не, Макс, ты путаешь задачи.
Pivot table я строить умею.
Мне нужно переделать массив данных из одного вида "табличного" в другой - "строчный".
кстати, именно для дальнейшего построения этих самых сводных таблиц мне и нужен более правильный массив - строчный.
AZC_ | Достоевский ****
Re: Excel/Access - вапрос
[Re: _K2_] 21 августа 2006 в 11:49
макрос на васике надо писать
4 строки, но как жыж напрячься нужно
codex | Достоевский ***
Re: Excel/Access - вапрос
[Re: AZC_] 21 августа 2006 в 12:50
Примерно так надо напрячься
Выделяем в Excel-е внутреннюю часть таблички(цифры) и запускаем этот макрос:
Sub myTranspose()
Dim c As Range
Dim thisWS As Worksheet
Application.Calculation = xlCalculationManual
Set thisWS = ThisWorkbook.ActiveSheet
currCol = Selection.Column + Selection.Columns.Count + 1
currRow = Selection.Row
For Each c In Selection
thisWS.Cells(currRow, currCol).Resize(1, 3) = _
Array(thisWS.Cells(c.Row, Selection.Column - 1).Value, thisWS.Cells(Selection.Row - 1, c.Column), c.Value)
currRow = currRow + 1
Next
Application.Calculation = xlCalculationAutomatic
End Sub
AZC_ | Достоевский ****
Re: Excel/Access - вапрос
[Re: codex] 21 августа 2006 в 13:05
от жыж ..
бывают такие люди по понедельникам..

_K2_, с тебя пиво..
_K2_ | пАдонАк **
Re: Excel/Access - вапрос
[Re: codex] 21 августа 2006 в 14:51
камрад, пасиба бальшое, но я ниразу не програмер, а че в экселе или аксесе нет такой кнопачки "convert selection to..."?
неужели столь редкая задача у меня?
_K2_ | пАдонАк **
Re: Excel/Access - вапрос
[Re: _K2_] 21 августа 2006 в 14:52
зы. нужно "конвертировать" отчеты за последние 2 года, штук 150 таблиц 25х25 ячеек.
codex | Достоевский ***
Re: Excel/Access - вапрос
[Re: _K2_] 21 августа 2006 в 21:40
Есть похожая, но не подходящая функция "Транспонировать".
В зависимости от расположения/порядка этих таблиц можно подумать еще над большей автоматизацией при помощи VBA. Но скорее всего прийдется посадить специально обученного человека и дать этому человеку этот файл(я так обычно делаю в похожих ситуациях ):
http://195.140.177.78/mytranspose.xls
Интерфейс уже "юзерфрендли" . Открываем файл, он самоинсталируется или просит включить макросы(подсказывает как). Во втором случае макросы надо включить и переоткрыть файл. В случае успеха появляется кнопочка со смайликом и надписью MyTranspose. Далее берем по порядку выделяем каждую табличку-жертву(только внутреннюю часть с числами) и нажимаем кнопочку со смайликом. Справа от выделенной таблички брюки превращаются в элегантные шорты
Danila-master | старый писатель ***
Re: Excel/Access - вапрос
[Re: _K2_] 22 августа 2006 в 16:54
Посмотри функцию "БИЗВЛЕЧЬ". Может она тебе подойдёт?
odri | важничающий писатель ***
Re: Excel/Access - вапрос
[Re: _K2_] 22 августа 2006 в 17:18
В ответ на:

Есть массив данных в виде таблицы. ну типа такой:

Аспирин Панадол Ренни
Киев 2 4 5
Харьков 3 7 4
Днепр 4 9 3

Требуется перевести эту таблицу в "строчный массив", чтобы выглядело так:

Киев Аспирин 2
Киев Панадол 4
Киев Ренни 5
Харьков Аспирин 3
Харьков Панадол 7
Харьков Ренни 4
Днепр Аспирин 4
Днепр Панадол 9
Днепр Ренни 3

Как это сделать в Экселе или Аксессе?



Используя функцию "Сцепить", сделать шаблон, затем в него скоприровать данній. Результат вывести на другой лист.
codex | Достоевский ***
Re: Excel/Access - вапрос
[Re: odri] 22 августа 2006 в 17:44
Садисты
_K2_ | пАдонАк **
Re: Excel/Access - вапрос
[Re: AZC_] 23 августа 2006 в 11:36
всем спасиба, нашли чела, он наваял макрос и все перенес.
Додаткова інформація
Модератор:

 AlMat, doctor_b, moderator, Outdriver 

3 користувачів і 121 що побажали залишитися невідомими читають цей форум.

Переглядів теми: 3268