• ベストアンサー

エクセルで年と月を出したい

エクセルで「2/1」と入力して「02/1」と表記できるようにユーザー設定をしたいです。 どうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wildcard
  • ベストアンサー率54% (54/100)
回答No.6

ちょっと強引なやり方かも知れませんが…(^^; マクロを利用すれば解決できると思います。 日付を入力するシートがSheet1であると仮定した場合、 まず他にファイルを開いている場合は、閉じてください。 次に日付を入力するセル全ての書式を、文字列に設定します。 最後に、Alt+F11でVisual Basic Editorを起動し、左上部のプロジェクトウィンドウでSheet1をダブルクリックし、右側のコードウィンドウに下記コードを貼り付ければokです。 ただし入力された日付は、Excelでは文字列として認識されてしまいますので注意して下さい。また下記コードは、Sheet1内の全セルが対象ですが、改造すれば特定の列や行のみを対象とする事も可能です。 Public f As Integer Private Sub Worksheet_Change(ByVal Target As Range)   On Error GoTo Errr   If f = 1 Then Exit Sub   f = 1   Dim aa As String   Dim n, m, y As Long   aa = Target.Value   If Len(aa) > 5 Then GoTo Errr   For n = 1 To Len(aa)     If Mid(aa, n, 1) = "/" Then       Exit For     End If   Next n   Select Case n     Case 1     Case Is >= Len(aa)     Case Else       m = Mid(aa, n + 1, Len(aa) - n)       y = Left(aa, n - 1)       If m > 12 Or m < 1 Then GoTo Errr       If y > 99 Or y < 1 Then GoTo Errr       If y >= 10 Then         Target.Value = y & "/" & m       Else         Target.Value = "0" & y & "/" & m       End If   End Select   f = 0   Exit Sub Errr:   f = 0 End Sub

hiroki-73
質問者

お礼

ありがとうございますっ!!! なんかすごい高度な答えがきて驚いています。 面倒なことをずうずうしくお願いしちゃってほんとうにすいません 仕事が終わったら試してみますね

その他の回答 (5)

回答No.5

「2/1」と入力するとエクセルは2月1日としか認識できません。 また、年を入力しないと勝手に今年にされますので 2003年2月1日→03/2(表示形式yy/m)となるのです。 「2002/1/1」のように年月日の日にちも入力すれば 表示形式を「yy/m」にして「02/1」と表示させることは可能ですが、 「2/1」と入力して「02/1」と表示させたいなら 私の思いつく方法は表示形式をmm/dとして 月日として表示させて我慢するぐらいです。

hiroki-73
質問者

お礼

なるほど・・・ やっぱりそうですかね エクセルは親切なつくりになりすぎていて、逆に余計なことをしてきますねー ご意見本当にありがとうございました まだしばらくは締め切りませんので何かいい方法が思いついたら、ぜひ教えてください

  • Reisender
  • ベストアンサー率40% (21/52)
回答No.4

ちなみに2/1は1月2日ですか?2月1日ですか? そのセルを選んで、右クリックで「セルの書式設定」を選択 「表示形式」の中から日付を選択し、右側のリストに希望のがあればそれをクリック。 なければ、ユーザ定義の種類というところに、1月2日ならば dd/m 、2月1日ならば mm/dと入力。 dは日付をmは月を表し、ddと書けば二桁いつも表示されるように なります。月か日付どちらかだけを二桁表示だと混乱することがあるので 1桁表示もしくは二桁表示に統一することをお勧めしますが…

hiroki-73
質問者

お礼

2002年1月という意味なんですよー すいません説明不足で・・・ それで、ユーザー設定を「yy/m」として「2/1」とするとなぜか「03/2」となってしまうんです・・・

  • wildcard
  • ベストアンサー率54% (54/100)
回答No.3

セルの書式設定→表示形式→ユーザ設定→ 「月/日」であれば、mm/d 「年/月」であれば、yy/m です。

hiroki-73
質問者

お礼

年/月なんですけどもユーザー定義を「yy/m」として、「2/1」と入力すると「03/2」となってしまうんですよ なんでですかねー

  • qwer021
  • ベストアンサー率24% (70/281)
回答No.2

すみません 良く考えたらダメですね。

hiroki-73
質問者

お礼

そうなんですよー

  • qwer021
  • ベストアンサー率24% (70/281)
回答No.1

セルの書式設定→表示形式→ユーザ設定→yy/mではダメでしょうか?

hiroki-73
質問者

お礼

それがだめなんですよー

関連するQ&A

専門家に質問してみよう