- ベストアンサー
if関数と書式設定:時間表示と分表示
- 基礎数が60を超えた場合は時間表示とし、超えない場合は分表示としたい。
- 現在の方法では全て分表示されており、時間の計算式箇所だけ書式設定を変更している。
- 解決策として、列を挿入してif関数を使用し、60以上の場合は時間表示、以下の場合は分表示とする。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
セルの追加や、セルに入力されている式の修正を行わなくても、書式のみでご要望の表示は実現できます。現在質問者さんが設定されている書式に加えて、条件付き書式を同時に設定してあげます。 B1に「=if(A1>=60,A1/60,A1)」が入力されていて、B1:B3の範囲の「セルの書式設定 表示形式」が「0.0"h"」となっているとのことでした。そのままの状態で、同じくB1:B3を選択し、リボン(あるいはメニューバー)の「条件付き書式」をクリック。ルールの種類として「数式を使用して…」を選び、次の数式を貼ります。 =a1<60 (B1セルの場合) 続いて同じダイアログ内にある「書式」ボタンから、「表示形式」を「0"m"」と設定します。 以上により、1時間以上では「h」、未満では「m」となります。セルに算出されている値は、文字列に変換しないので、数値のままとなっています。 なお、条件付きでない通常の「セルの書式設定」における「0.0"h"」を取り消して、式2本による2つの条件付き書式(「0.0"h"」と「0"m"」)を設定してあげる方法でもいいです。
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.3・4です。何度も申し訳ありません。 「表示形式」の条件付き書式における設定は、Excel2003以前の場合、設定できません。条件付き書式の機能は、条件の個数に制限がなくなるなど、Excel2007以降で大幅に拡充されました。表示形式もそうした拡充内容の一つなのでした。よく確認せずに回答し、申し訳ありませんでした。 なので、2003以前では、No.1さん、No.2さんのように、文字列として「m」をくっつけるか、質問者さんのおっしゃるように単位のセルを分けるようになってしまうかと思います。2007以降であれば、No.3・4のとおりに設定できます。
お礼
ご丁寧にありがとうございます。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.3です。蛇足かもしれませんが、「3m」ではなく「03m」と表示したい場合は、「0"m"」の代わりに「00"m"」という書式にしてください。
お礼
蛇足なんてとんでもない。今回は3m表記を使用しますが、今後の勉強になります。 ありがとうございます。
- aisyun
- ベストアンサー率12% (1/8)
B1に=if(A1>=60,A1/60&"h",A1&"m") でいかがでしょうか?
お礼
ご回答ありがとうございます。 今回は書式設定で行うことにしましたが、セル&””で色々と設定できる事がわかったのでありがたいです。 特に現在PCによって2010と2003が両方ありますので。
- keithin
- ベストアンサー率66% (5278/7941)
B列の計算結果は「その後の計算に使わない」前提で B1: =IF(A1="","",IF(A1>=60,TEXT(A1/60,IF(MOD(A1,60),"0.0!h","0!h")),A1&"m")) として、B3までコピー貼り付けておくようなことはできます。 #言わずもがなですが、A3には合計の160を計算しておきます。
お礼
ご回答ありがとうございます。
お礼
ありがとうございます。