アプリ版:「スタンプのみでお礼する」機能のリリースについて

A列に、12:00、14:00、19:00、23:00……と午後の時刻を24時間表記されたデータがあります。
これをB列に、0:00、2:00、7:00、11:00のように「PM」や「午後」などの文字がいっさい付かない時刻数字だけの12時間表記に変えたいのですが、その方法が分かりません。
表示形式の時刻には必ず後ろに「PM」が付くし、ユーザー定義で「PM」などを付けないで時刻だけで12時間表記にすることをいろいろ試してみましたがどうしてもできません。
午前の時刻は「AM」など付かないで表わせるのに、午後はどうして「PM」がつくのかも分かりません。
表示形式で出来なければ、何らかの関数式でB列にそのような表記をする方法はないでしょうか。
データが多いので、いちいち入力し直すのは大変なので、ご存知の方教えてください。

A 回答 (4件)

A1セルに時刻の入力がるとしてB1セルには次の式を入力します。



=MOD(A1,"12:00")
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございました。
MOD関数とは意外でした。
"12:00"で除算した余り……なるほどですね。
そもそもMOD関数の除数はあくまで数値でなければならないという先入観があり、「"12:00"」のような時刻(文字)?を除数に出来るなんて夢にも思いませんでした。
ともあれ、答えはバッチリで助かりました。お礼申し上げます。

お礼日時:2011/09/29 13:58

限定的な用法で。



A列を列選択し,セルの書式設定の表示形式のユーザー定義で
h:mm Ctrl+J A/P
「 Ctrl+J 」はキーボードのコントロールキーを押しながらJのキーを押す。前後のスペースは説明のために付けたので不要。
と設定し,そのまま配置タブに移動して「折り返して全体を表示」にチェック,縦位置を「上詰め」に設定してOKする。



限定用法なので,行高さをふつーよりも広く(高く)して使っていると,うまくありません。
    • good
    • 0
この回答へのお礼

ありがとうございました。
行の高さが3行分ぐらいのセルもあり、うまくゆかないようですね。
ともあれ、早速のご回答お礼申し上げます。

お礼日時:2011/09/29 14:50

確認ですが「12:30」はそのまま表示するのですね。



その場合は、以下のような数式になります。

=IF(A1>="13:00"*1,MOD(A1,"12:00"),A1)

ところで、元データを変更して午前と午後を区別できなくしなくてもよいのでしょうか?

表示形式で対応する場合は、表示形式タブでユーザー定義にして、「h:mm」と入力してCtrlキーを押しながらJキーを押し、その後「AM/PM」と入力し、セルの書式設定の配置タブで「折り返して全体を表示する」にしてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
>「12:30」はそのまま表示するのですね。
>「12:30」は「0:30」とします。
>元データを変更して午前と午後を区別できなくしなくてもよいのでしょうか?
>正確に申しますとデータはA列に午前、B列に午後になっていますので、既に列として区別されているのです。
表示形式での対応はた試させていただきましたが、pmが時刻の下に表示されるだけで旨くゆきませんでした。(行の高さを低くすれば隠れますが……。)
ともあれお礼申し上げます。

お礼日時:2011/09/29 14:45

一例です。


B1に=IF(a1>="12:00"*1,A1-"12:00",A1)、B1の表示形式はh:mmとして下方向にコピー
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
元のデータから12時間を控除して表示形式「h:mm」で表わす……。
なるほどこちらも理にかなっていますね。
このような方法も一応考えては見たのですが、控除する12時間の表記方法("12:00")が分からなかったため、答えが出ませんでした。
式としては回答No1のMod関数がシンプルなので、それを使わせていただきましたが、ともあれ勉強になりました。お礼申し上げます。

お礼日時:2011/09/29 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!