Excel総合相談所7

このエントリーをはてなブックマークに追加
196名無しさん@そうだ選挙にいこう
日付で20020824てデータを日付として読み取ってもらえません。
0824←のゼロを取ったら日付データにできるんですけど、
データが多いもので、一発で変換できるようにならないのでしょうか?
>196

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
198名無しさん@そうだ選挙にいこう:02/08/24 20:53
Excel2000を使っています。
環境はWin98SEです。
表を元にグラフを作っていますがパーセンテージの表示がうまくいきません。
40回の内、13だと32.5%ですが、これをグラフにすると33%と表示されます。
また数字によっては逆に0.5%が1%にされる場合もあります。
小数点以下1位まででいいので、グラフに表示させることはできないものでしょうか。
199名無しさん@そうだ選挙にいこう:02/08/24 21:06
「データラベルの書式設定」−「表示形式」−「小数点以下の桁数」を任意に設定。
200名無しさん@そうだ選挙にいこう:02/08/24 21:09
>>198
33%と表示されているところをダブルクリックして、
表示形式を0.0%にする。

切り捨てとかの特別な処理をやりたいときは、
計算結果のセルを作っておいてそれを項目名にするという手もある。
201198:02/08/24 21:17
>>199
>>200
ありがとうございます。できました。
202名無しさん@そうだ選挙にいこう:02/08/24 22:09
マクロ又はワークシート関数を用いて
あるセルに「8/24」
と日付表示されているものを別セルに
「 8.24」
(↑8の前には1ケタ分のスペースがあります)
と全角表示させる方法はないでしょうか?
>>202

A1に 8/24

=JIS(TEXT(A1," m・dd"))
>>196
そのデータが1列に記入されてるのなら
とりあえずこんな感じのマクロで出来るけど。
※テストは複製ファイルでやってね

Sub test()
  Dim s1, s2, str As String
  Dim r As Long
  Dim c As Integer
  
  '列を数字で入力
  c = Application.InputBox("対象の列を数字で記入してください" & vbCrLf & "(例:A列の場合1、B列の場合は2、C列の場合は3、...)", "列指定")
  '開始行を数字で入力
  s1 = Application.InputBox("開始セルの行番号を数字で記入してください" & vbCrLf & "(例:1)", "開始セル指定")
  '終了行を数字で入力
  s2 = Application.InputBox("終了セルの行番号を数字で記入してください" & vbCrLf & "(例:500)", "終了セル指定")
  
  For r = s1 To s2
    ActiveSheet.Cells(r, c).Select
    str = Selection.Value
    ActiveCell.Value = Left(str, 4) & "/" & Mid(str, 5, 2) & "/" & Right(str, 2)
  Next r
End Sub
>196,204

セル範囲を選択して実行

Sub Test1()
Dim r As Range

For Each r In Selection
 r = Format(DateSerial(Left(r, 4), Mid(r, 5, 2), Right(r, 2)), "yyyy/mm/dd")
Next r

End Sub