Простейшая задача обработки массива

komap
На сайте с 29.11.2006
Offline
136
425

Есть данные такого вида:

1) ID

2) Дата

3) 1/0

Нужно сделать таблицу, где в строках будут ID, в столбцах даты, а на пересечении сумма на данную дату и ID

Исходные данные в екселе.

Кто может сделать?

Интересуют ссылки и размещение статей по тематике суши, пицца, доставка обедов, кулинария. CS Yazzle со скидкой 15% () Только для Москвичей:доставка пиццы и суши в Москве (http://www.ghpizza.ru)!
[Удален]
#1

то ли я че-то седня не могу понять, че люди спрашивают, то ли так спрашивают...

пересечении сумма

сумма чего?

web09
На сайте с 11.02.2010
Offline
10
#2

Пересечении строк и столбцов. В это въехал, а подсказать голова не варит :( Если не забуду завтра с утра посмотрю эту тему и постараюсь подсказать

Сбор контента, наполнение магазинов (/ru/forum/460538) Настройка и администрирование Joomla, DLE, WP. Магазинов Webassyst, Opencart, Virtuemart. Форумов. PHP, MYSQL, javascript. Связь - личка или icq 355-557-338
F
На сайте с 12.03.2007
Offline
85
#3

Что не врублюсь, есть таблица в экселе, а что сделать, такую же таблицу в экселе? или нужно все это просто в массив загнать? если да то какой язык? vba, php или что-то другое? И не ясно что за сумма.

Как начать тренироваться (http://max-body.ru/quick_start.html), Бодибилдинг форум (http://fatal-energy.com/). Обменяюсь/куплю ссылками со статей (или статьями) с сайтами бодибилдинг/фитнес тематики.
skAmZ
На сайте с 04.09.2009
Offline
122
#4

Входной файл, в формате csv.


function set_cell($in){ return '<td>'.$in.'</td>';}
$arr_data=array();$arr_date=array();$data=array();

$content=file_get_contents('list.csv');
$rows=preg_split("/\n/", $content);
foreach($rows as $i => $str){
$info=preg_split('/;/', $str);
$arr_date[]=$info[1];
$arr_data[$info[0]][$info[1]]+=$info[2];
}
$arr_date=array_unique($arr_date);
$arr_id=array_keys($arr_data);
echo '<table border=1><tr><td>ID\Дата</td>';
echo implode(' ', array_map('set_cell', $arr_date)).'</tr>';

foreach($arr_id as $i => $id){
echo '<tr><td>'.$id.'</td>';
foreach($arr_date as $k => $date) echo '<td>'.$arr_data[$id][$date].'</td>';
echo '</tr>';
}
echo '</table>';
komap
На сайте с 29.11.2006
Offline
136
#5

Всем спасибо, задачу решил штатными средствами екселя "сводная таблица"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий