あるエクセルファイルの一カラムをコピーし、新しいエクセルファイルに貼り付けます。
そのデータは
2
3
2
3
1
のような感じです。これを2Dの棒グラフにしたいのですが、どうすればいいのでしょうか?
ちなみにX軸は左からデータの小さい順。
Y軸は各値のパーセンテージ。
上のデータの場合は2が2つ、3が2つ、1が1つ。なので、X軸は1,2,3
Y軸は0〜100パーセント
です。
又、PHPのgmtime()で発行されたタイムスタンプを 西暦-月-日 に変更する方法を教えて下さい。
マクロを使用した例ですが、新しいシートのA列にデータを置き、下記のマクロを
シート下のシートタブを右クリックして「コードの表示」で選択した部分に貼り付け、
エクセルに戻って Alt+F8で drawGraph を実行し、希望の形にならないでしょうか。
Sub drawGraph() Columns("A").Copy Columns("D") Columns("D").Sort Header:=xlNo, key1:=Range("D1"), order1:=xlAscending If Range("D2") = "" Then Exit Sub For i = Range("D1").End(xlDown).Row To 2 Step -1 If Cells(i, "D") = Cells(i - 1, "D") Then Cells(i, "D") = "" End If Next Columns("D").Sort Header:=xlNo, key1:=Range("D1"), order1:=xlAscending Dim lastRow As Long lastRow = Range("D1").End(xlDown).Row Range("E1").Resize(lastRow, 1).FormulaR1C1 = "=COUNTIF(R1C1:R" & Range("A1").End(xlDown).Row & "C1,RC4)" Range("F1").Resize(lastRow, 1).FormulaR1C1 = "=RC[-1]/SUM(R1C4:R" & lastRow & "C4)" Range("F1").Resize(lastRow, 1).NumberFormatLocal = "0.0%" ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("F1").Resize(lastRow, 1) ActiveChart.ChartType = xlColumnClustered End Sub
PHP の時刻に関しては下記をご参照ください。
http://php.benscom.com/manual/ja/ref.datetime.php
gmdateのサンプル
<?php echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); ?>
あたりが参考にならないでしょうか。
excelの方はよく分からないので、PHPの方だけお答えします。
gmtime()という関数は私のリファレンスでは見つけ出せなかったのですが、タイムスタンプを取得する関数として考えますと、
date()関数を使うのが良いと思います。
http://www.php.net/manual/ja/function.date.php
date('Y-m-d', gmtime())
といった形式でできると思います。
サンキューです。
Excelの方も調べてみました。
FREQUENCYという関数が使えるようです。
http://xl-kobeya.seesaa.net/article/16258114.html
A1のセルからA10のセルまで、数値が入力されているものとして説明します。
別の場所、例えばC1のセルからC3のセルまで、1,2,3といった数字を縦に並べて入力しておいて、
D1からD3までのセルを選択し、D1のセルに
=FREQUENCY(A1:A10,C1:C3)
と入力して
Shift+Ctrl+Enter
を押します。
これで、D1からD3のセルに、それぞれの数字が何回出てきたかが表示されます。
これをパーセント表示にするには、E1のセルに
=D1/SUM(D$1:D$3)
と入力して、右下の点をドラッグすることでD1からD3のセルに同じ数式を入力します。
あとはこれをグラフにするだけです。
C1からC3のセルとE1からE3のセルを選択(Ctrlを押しながらだと複数のセルが選択できます)して、グラフウィザードを使ってください。
参考にさせていただきます。
Macなのでマクロは利用できないんです。
>PHP の時刻に関しては下記をご参照ください。
えーっと、タイムスタンプをExcel上で変更する方法です