Excelでft²と$を表示しながら平方フィート単価($/ft²)を計算する方法|#VALUE!の原因と解決策

Excelで面積に「ft²」、価格に「$」を付けて見やすくしたいのに、単価($/ft²)を計算すると#VALUE!が出て困っていませんか。原因の多くは、単位付きのセルが文字列になっていることです。数値は数値のまま保持し、表示形式で単位・通貨を付ける手順をまとめます。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

よくある症状:見た目は数字なのに計算すると #VALUE! になる

不動産の物件表や、倉庫・工場の面積と価格の一覧などで、次のようなデータを作る場面はよくあります。

  • 面積(Size)を「7704 ft²」のように表示したい
  • 価格(Price)を「$1,850,000」のように表示したい
  • 価格 ÷ 面積で「$/ft²」を出したい(例:$240.00/ft²)

ところが、面積セルに「7704 ft²」そのものを入力してしまうと、見た目は数字でもExcel内部では「文字列」として扱われ、割り算で#VALUE!が発生します。

入力(見た目)Excel内部の扱い確認のしかた(例)計算への影響
7704 ft²文字列=ISNUMBER(C14) → FALSE割り算で #VALUE! になりやすい
7704数値=ISNUMBER(C14) → TRUE普通に計算できる
$1850000状況による(数値のことも文字列のことも)=ISNUMBER(E14) で判定文字列なら計算でエラーになる

#VALUE! は「計算に使える数値ではないものが混ざっている」サインです。面積や価格のどちらか、あるいは両方が文字列化しているケースが多いので、まずは“値”と“表示”を分けて考えるのが近道です。

原因の正体:単位や記号をセルに直接打つと「文字列」になりやすい

Excelでは、セルの中身は大きく分けて「数値」「文字列」「日付(内部的には数値)」などで管理されています。割り算などの四則演算は数値が前提です。

面積セルに 7704 ft² と入力した瞬間、Excelは「数字 + 文字」が混ざっているため、それを数値ではなく文字列として保存します。結果として、

  • =ROUNDUP(E14/C14,2) のような式で C14 を数値として扱えず #VALUE!
  • 合計や平均、ピボットテーブルでも期待通りに集計できない
  • 並べ替えが文字列順になり「100」「20」「3」のように崩れる

といった副作用まで起こります。見た目だけ整えるつもりが、データとしての価値を落としてしまうのが、このトラブルの落とし穴です。

まずはセルが「数値」か「文字列」かを見分ける

以下の方法で、対象セルが本当に数値なのかをチェックできます。

  • 関数で判定:=ISNUMBER(C14) / =ISTEXT(C14)
  • 型を返す:=TYPE(C14)(数値=1、文字列=2)
  • 左寄せになっている、左上に緑の三角が出る(ただし確実ではありません)
  • 数式バーを見る:先頭にアポストロフィ(’)が付いていないか

とくにWebからコピーした面積データは、スペースが通常の半角スペースではなく、改行やノーブレークスペース(見えない空白)が混ざっていることがあり、さらに文字列化しやすいので注意が必要です。

最もおすすめの解決策:値は数値のまま、単位と通貨は「表示形式」で付ける

結論から言うと、対策はシンプルです。

値(中身)は数値のまま保持し、見た目(単位・通貨記号)はセルの表示形式で付ける

これができると、見た目の読みやすさと、計算・集計の正確さを両立できます。

手順1:面積(Size)のセルから単位を外し、数値だけにする

面積セルに 7704 ft² と入っているなら、まずはセルの中身を 7704 にします。単位は入力しません。

「でも、単位がないと見づらい…」という問題は次の手順で解決します。ここで大事なのは、Excelが数値として扱える状態に戻すことです。

手順2:カスタム書式で「ft²」を表示だけ付ける

面積セルを選択して、表示形式をユーザー定義にします。

  1. 面積セル(例:C列)を選択
  2. 右クリック → [セルの書式設定]
  3. [表示形式] タブ → [ユーザー定義]
  4. 「種類」に以下を入力してOK

代表的な書式例は次のとおりです。

目的ユーザー定義の例表示例(値=7704)ポイント
整数で表示0" ft²"7704 ft²単位はダブルクォートで囲む
小数2桁まで0.00" ft²"7704.00 ft²面積に小数がある場合に
桁区切りを付ける#,##0" ft²"7,704 ft²一覧が読みやすくなる

これでセルの中身は数値(7704)のままなのに、表示は「7704 ft²」になります。計算に影響しないのが最大のメリットです。

手順3:価格(Price)は通貨表示にする

価格のセルは、セルの書式設定で通貨(または会計)を選ぶのが基本です。

  1. 価格セル(例:E列)を選択
  2. 右クリック → [セルの書式設定]
  3. [表示形式][通貨](または[会計]
  4. 記号を $ に、必要なら小数点以下の桁数を設定

価格も、セルに $ を直接入力しなくても、表示形式で「$」が付きます。これで中身は数値のまま保持され、集計や計算が安定します。

手順4:平方フィート単価($/ft²)の計算式はそのままでOK

面積と価格がどちらも数値になっていれば、式は質問のとおりで問題ありません。

=ROUNDUP(E14/C14,2)

必要なら結果セルの表示形式を通貨にして、見た目を整えます。

「$/ft²」も見た目を整えたい:計算結果に単位を付ける3つのやり方

単価の列は「240.12」だけだと何の数字か分かりづらいので、$/ft²まで表示したいことが多いはずです。ここでもポイントは同じで、数値として保持したいなら、できるだけ表示形式で付けるのが安全です。

やり方A(推奨):計算結果セルにユーザー定義書式で「$/ft²」を付ける

結果セル(例:F14)の書式をユーザー定義にして、次のように設定します。

  • $#,##0.00" /ft²"

表示は「$240.12 /ft²」のようになり、中身は数値のままです。後で平均単価を出す、別の通貨に換算する、といった作業もスムーズです。

やり方B:数式で文字列として付ける(見た目優先・計算には不向き)

どうしてもセル自体を「文字」として表示したいなら、次のように結合できます。

=TEXT(ROUNDUP(E14/C14,2),"$#,##0.00")&" /ft²"

ただしこの方法は、結果が文字列になるため、後続の計算・集計でつまずきやすくなります。「見た目を整えるのが最優先で、この列は計算に使わない」と割り切れる場合だけにしましょう。

やり方C:値は計算列、表示は別列に分ける(運用で強い)

実務では「計算に使う列」と「報告用に見せる列」を分けるのも堅い方法です。

  • F列:単価(数値)… =E14/C14
  • G列:表示用(文字列)… =TEXT(F14,"$#,##0.00")&" /ft²"

CSVで外部に渡す、システムに取り込む、ピボットで分析する、という場面では数値列が役に立ち、資料に貼るときは表示列が役に立ちます。

大量の「7704 ft²」がすでに入っている場合の直し方(実務向け)

ここからは「もうデータが何百行もある」「すでに単位付きで入力されてしまった」というケースを想定して、手早く直す手順をまとめます。ポイントは、

  • 単位を取り除く
  • 文字列を数値に変換する

の2段階です。

方法1:置換で「 ft²」を消してから数値化する

  1. 対象範囲を選択
  2. Ctrl + H(検索と置換)
  3. 検索する文字列: ft²(先頭に半角スペースを含めるのがコツ)
  4. 置換後の文字列:空欄
  5. [すべて置換]

これで「7704 ft²」→「7704」になりますが、見た目が数字でもまだ文字列のまま残ることがあります。その場合は次の方法で数値化します。

方法2:「区切り位置」で一括変換(早くて失敗が少ない)

Excelの「区切り位置」は、文字列として保存された数字を数値に戻すときに非常に便利です。

  1. 対象範囲を選択
  2. [データ]タブ → [区切り位置]
  3. 「区切り文字」または「固定長」はどちらでもよいので進める
  4. 最後に[完了]

区切りを実際に入れなくても、完了するだけで数値化されることが多いのがポイントです。

方法3:掛け算で数値化(1列ならサッとできる)

値が「7704」のような数字の文字列なら、掛け算で数値にできます。

  1. 空いているセルに 1 を入力
  2. そのセルをコピー
  3. 対象範囲を選択 → 右クリック → [形式を選択して貼り付け]
  4. [乗算] を選んでOK

文字列×1 は数値として再解釈されるため、数値化できます。データを壊しにくく、操作も短いので覚えておくと便利です。

方法4:別列で「単位除去→数値化」してから計算する(式で確実)

どうしても元データを触れない場合や、セル内の表記ゆれがある場合は、別列で数値化して計算するのが安全です。

例:C14 が 7704 ft² のとき、数値面積を取り出す

=VALUE(SUBSTITUTE(C14," ft²",""))

Webコピーなどで「見えない空白」が混ざる場合は、次のように空白も掃除します。

=VALUE(SUBSTITUTE(SUBSTITUTE(C14,CHAR(160)," ")," ft²",""))

さらに、桁区切りのカンマが混ざる可能性があるなら、カンマも消します。

=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C14,",",""),CHAR(160)," ")," ft²",""))

この「数値化した面積列」を使えば、単価計算は安定します。

状況おすすめの直し方理由
単位の表記が完全に統一されている置換 → 区切り位置一括で速い。作業が少ない
表記ゆれ(スペース違い、コピー由来の空白)がある別列でSUBSTITUTE + VALUE式で制御でき、修正を追跡しやすい
今後も同様データが継続的に入ってくるPower Queryで整形更新で再利用でき、手作業を減らせる

#VALUE! 以外のエラーも同時に潰す:#DIV/0! と空欄への備え

面積が空欄や0の行が混ざると、今度は #DIV/0!(0で割れない)が出ます。単価列を一覧として見せたい場合は、次のようにガードすると運用が安定します。

空欄なら空欄を返す(読みやすい)

=IF(OR(C14="",E14=""),"",ROUNDUP(E14/C14,2))

エラーをまとめて空欄にする(手早い)

=IFERROR(ROUNDUP(E14/C14,2),"")

ただし、IFERRORは「どんなエラーでも隠す」ので、データ不備に気づきにくくなることがあります。集計やチェックが目的なら、エラーを見えるまま残したほうがよい場面もあります。

「ROUNDUP」は必要?丸めは“計算”と“表示”を分けると精度が上がる

質問の式では ROUNDUP を使っています。単価を「切り上げ」で提示するルール(例:請求単価は常に上方向に丸める)があるなら適切です。

一方、分析用途(平均単価、中央値、物件比較)では、切り上げが積み重なると全体が高めに偏ることがあります。ルールが決まっていない場合は、次の考え方がおすすめです。

  • 分析・集計に使う列:丸めずに =E14/C14 のまま
  • 見せる列(表示用):セルの表示形式で小数点以下を2桁にする
  • 契約・請求などルールがある列:ROUNDUPROUNDDOWN を明示する

「表示桁数」と「実際の値」を切り分けると、後で“なぜ合計が合わないのか”と悩む回数が減ります。

実務で強い設計:列名・入力ルール・書式をテンプレ化する

単位や通貨をセルに打ち込ませない運用にできると、#VALUE!はほぼ再発しません。おすすめは次の3点セットです。

1)単位はヘッダーに書く(最も壊れにくい)

列見出し(ヘッダー)に「Size (ft²)」「Price ($)」「Unit Price ($/ft²)」と書いてしまう方法です。セル自体には数値だけが入るので、CSV出力や別システム連携でも意味が伝わりやすくなります。

2)入力規則で「数値以外は入れさせない」

[データの入力規則]を使えば、面積列に文字が入った時点で弾けます。

  1. 面積列を選択
  2. [データ]→ [データの入力規則]
  3. 「入力値の種類」を「整数」または「小数点数」にする
  4. 必要なら最小値・最大値も設定

「単位は自動表示されます。数値のみ入力してください」と入力メッセージを出しておくと、チーム運用でも事故が減ります。

3)Excelのテーブル機能で管理し、数式を列全体に自動適用する

範囲をテーブル(Ctrl + T)にすると、行が増えても書式や数式が自動で伸びます。単価列の式も、構造化参照で読みやすく書けます。

例(列名が Price と Size の場合):=ROUNDUP([@Price]/[@Size],2)

サンプル:物件一覧で「ft²表示」「$表示」「$/ft²計算」を同時に満たす

最後に、実務でよくある形のサンプルを示します。セルの中身はすべて数値で、見た目は書式で整えます。

項目列例中身(値)表示形式計算式(例)
面積C列(Size)7704#,##0" ft²"(入力)
価格E列(Price)1850000通貨($、小数0~2)(入力)
単価F列($/ft²)240.12(例)$#,##0.00" /ft²"=ROUNDUP(E14/C14,2)

この形にしておけば、

  • 単価の平均・中央値・分布もすぐ出せる
  • フィルターやピボットで集計しても壊れない
  • 単位や記号の見た目も統一できる

という状態になります。見やすさと計算の正確さは両立できるので、まずは「単位や通貨は入力しない」設計に寄せるのが最短です。

まとめ:#VALUE! は“表示のために文字列化してしまった”サイン

面積にft²、価格に$を付けた状態で平方フィート単価($/ft²)を計算したいなら、セルに単位や記号を打ち込むのではなく、表示形式(ユーザー定義・通貨)で付けるのが正攻法です。

  • 面積は数値だけ → 0" ft²" などのカスタム書式で表示
  • 価格は通貨書式で $ を表示
  • 単価も数値のまま → 必要なら $#,##0.00" /ft²" で表示
  • 大量データは置換・区切り位置・VALUE/SUBSTITUTEで一括修正

このルールをテンプレとして固定すれば、#VALUE! に悩まされる時間が大幅に減り、データが“計算できる資産”になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次