よろしくお願いします。

Excel2002で作った表をExcel2003で開いて修正しています。
2つのセルを掛け合わせる計算のセルをオートフィルすると、掛けるデータのない行では#VALUE!のエラーになりました。
ここで空白データのセルでDeleteを叩いてみたところエラーが0に変わりました。
試しに関係のないセルで空白セル同士の掛け算をやってみると答えが0になりました。

エラーが出る場合と、0になる場合の違いは何でしょうか?
どうかよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。

maruru01です。

No.1の方の指摘のようにスペースが入っている場合もありますが、何も文字(スペースも含めて)が入っていないのにエラーになる場合もあります。
例えば、セルA1に「=""」と入力します。
次に、A1をコピーして、A2を選択して、右クリックの[形式を選択して貼り付け]で[値]にチェックして[OK]します。
(念のためA3を選択して、[Delete]しておいて下さい。)
これで、B1に、「=A1*1」と入力してA3までコピーします。
A1とA2がエラーになると思います。
このA2には、言わば「長さ0の文字列」が入っていることになります。
この「長さ0の文字列」は、別のアプリやWEB上からのコピペでも入ることがあります。
で、文字列を計算に使うとエラーになります。
一方A3は、「未使用・未入力」という状態です。
ブックやシートを新規作成した直後と同じで、Excelでは計算する際は「0」に変換されます。
で、「長さ0の文字列」と「未使用・未入力」は見た目でもい、数式バー上でも見分けは付きません。
もちろん、エラーになったら[Delete]してやればいいですが、最初から数式で対応することも出来ます。
仮に、元の数式が、

=A1*B1

としたら、これを、

=N(A1)*N(B1)

とします。
N関数は、A1やB1に文字列(長さ0の場合も含む)があると、「0」に変換してくれるので、エラーになりません。
それか、

=IF(COUNT(A1:B1)=2,A1*B1,"")

のように、IF文で、両方に数値が入っていなければ「""」にするように分岐処理させる方法もあります。
    • good
    • 1
この回答へのお礼

「形式を選択して貼り付け」の「値」やりました!!!
空白セルは元々IF関数で「""」に分岐させていたセルでした。
確かに本当の空白セルと「""」のセルでは、計算結果に違いが現れることがありますね。
「""」は完全な空白ではなくて長さが0の文字列ということなのですね。
よく分かりました。すっきりしました。
ありがとうございました!!!

お礼日時:2005/04/21 18:24

セルに入れたデータを消す場合等にスペースキーを使ってませんか?


スペースキーで挿入した空白は「文字」ですので、「あ」「い」「う」なんかと同じです。

あ×3

でエラーになるのは当然ですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
セルにスペースなどが入っていないというのは確認したのですが、なぜかエラーになってしまうのです。
質問を書き込んだ後に今までの操作を色々考えたところ、問題の空白セルを含めた範囲を「形式を選択して貼り付け」の「値」で貼り付けをしていたのです。
これが関係ありそうな気がするのですが…。

お礼日時:2005/04/21 18:05

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q小数の掛け算の意味の認識として以下は正しいですか?

小数の掛け算の意味の認識として以下は正しいですか?

→掛けられる数を基準(1として)に、掛ける数だけ集まっている。
◆整数×小数
→(例:ジュース2lの0.5倍
   2×0.5=1
 ポイント:0.5=1/2だから、つまり、2lを2等分した内の1つが集まっている。

◆小数×整数
→ジュース0.5lが2倍
 0.5×2=1
ポイント:0.5lが2倍(2つ分)集まっている


◆小数×小数
→ジュース0.5lの0.5倍
0.5×0.5=0.25

Aベストアンサー

>>小数の掛け算の意味の認識として以下は正しいですか?

これは,正しい,正しくない,の問題ではなく,定義をいかにするかの問題です.

● 「掛けられる数を基準として,掛ける数だけ集まっている。と考える.」
という定義にすれば,質問者さんの書いたように言えます.

一方で,

● 「掛ける数を基準として,掛けられる数だけ集まっている。と考える.」
という定義にすると,質問者さんの書いた逆になります.

要するに,何をどう考え,どう表現するかを定義しないと数学的な議論は始められません.

質問者さんは,先入観にとらわれて,それをそのまま書かれている様に思えます.
小学校や中学校での数学の教科書に書かれている決まり事は,定義そのものなのです.
定義という言葉を使わない場合も多いですが・・・.

もし,質問者さんが,社会の一般認識としてどうか? という問いかたをしているのであれば,
答えは確定せず曖昧となるでしょう.

数学的に,きちんと言葉や数式の構造などを定義した上でないと確定的な議論ができません.

Q入力セルが空白の時 隣りと隣のセル(こちらも入力セル)を空白にできるかどうか?

こういったことできないでしょうか。

 A1  B2  C3
9:00  ~  10:00 と場合に

A1とC3に直接値を入力しています。

A1セルに値がはいらないとき B2のチルダも C3の値も 空白になってくれると
よいなと思うのですが 良い方法はありますでしょうか。

ご存知の方ご教示いただければ助かります。

Aベストアンサー

こんばんは!

>C3のセルのことを B2に入力した式で
>管理できないかと思っているのですが・・・

関数では無理だと思います。
VBAになりますが一例です。

画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
A1・C3セルにデータを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) '//この行から//
If Intersect(Target, Range("A1,C3")) Is Nothing Then Exit Sub
If Target.Count = 1 Then
With Target
If .Row = 1 Then
If .Value <> "" Then
If Range("C3") <> "" Then
Range("B2") = "~"
End If
Else
Range("B2,C3").ClearContents
End If
Else
If .Value <> "" Then
Range("B2") = "~"
Else
Range("B2").ClearContents
End If
End If
End With
End If
End Sub '//この行まで//

※ A1セルがC3セルより大きな値になった場合などの細かいエラー処理はしていません。

こんな感じをお望みなのでしょうか?m(_ _)m

こんばんは!

>C3のセルのことを B2に入力した式で
>管理できないかと思っているのですが・・・

関数では無理だと思います。
VBAになりますが一例です。

画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
A1・C3セルにデータを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) '//この行から//
If Intersect(Target, Range("A1,C3")) ...続きを読む

Q監査リスクモデル算出の掛け算の意味

場違いかもしれませんが、質問させてください。

今、監査の勉強をしています。監査とは株式公開企業が財務諸表を作成し、監査人(公認会計士)がこの財務諸表に関して、規則にしたがって作成されているかどうか、財務諸表を使う利害関係者に証明するものです。

本来なら、取引を全部調べるといいんですが、それだと費用対効果からして効率的とはいえません。そこで短い時間の間に効率的かつ効果的に監査をしていくそうです。

統計学上5%の監査人が意見を誤ってしまうことは許される
そうです。その公式とは

監査上のリスク=固有の危険X内部統制上の危険X
        監査手続上の危険

監査上のリスク=財務諸表に重要な虚偽記載が含まれているにもかかわらず、監査人がこれを発見できずに誤った意見を表明する可能性

固有の危険=内部統制が存在していない仮定の上で、重要な虚偽記載が生じる可能性

内部統制上の危険=重要な虚偽記載が内部統制によって、防止又は随時に発見されない可能性

監査手続上の危険=虚偽記載が存在しているにもかかわらず、監査人の監査手続が、重要な虚偽記載が存在していないという、誤った結論を導き出してしまう可能性

以上、前置きがながくなりましたが、なぜ、監査上のリスクを算出するのにそれぞれのリスクを掛算していかなければならないのですか。確率と関係があるのですか。

 

場違いかもしれませんが、質問させてください。

今、監査の勉強をしています。監査とは株式公開企業が財務諸表を作成し、監査人(公認会計士)がこの財務諸表に関して、規則にしたがって作成されているかどうか、財務諸表を使う利害関係者に証明するものです。

本来なら、取引を全部調べるといいんですが、それだと費用対効果からして効率的とはいえません。そこで短い時間の間に効率的かつ効果的に監査をしていくそうです。

統計学上5%の監査人が意見を誤ってしまうことは許される
そうです。その公式と...続きを読む

Aベストアンサー

確率論と考えていただいて間違いないと思います。

以下、前述の回答と重なりますが、もう少しかみ砕いた表現といたします

内部統制が存在いて、この点から虚偽記載がされなかった(固有リスク0%)とすると、虚偽の記載がなされないわけですから他のリスクがあったとしても、虚偽の記載はされません。

内部統制で充分なチェック体制が完璧であれば、虚偽の記載があったとしてもそれを100%発見できる(内部統制上リスク0%)のであれば、虚偽記載を防げます

監査手続きが完璧であれば、重要な虚偽記載を100%発見できる(監査手続きリスク0%)であれば、虚偽の記載を防げます。

上記のように何れかで100%チェックできるのであれば他が100%でなくとも虚偽記載は防げます

ここまでは、前述と同じです。

例えば、固有の危険の項目で10回に1回、内部統制上の危険の項目で10回に1回それぞれで見逃しがあったとします。
固有危険で見逃された1回が内部統制上でも見逃される確率は10分の1ですよね
つまり、10回のうち、固有の危険と内部統制上の危険の両方が見逃されるのは10分の1回ということになります。
分数だとわかりにくいので整数に直します。
100回のうち、固有の危険と内部統制上の危険の両方が見逃されるのは1回ということになります。

ここで、監査手続上の危険でも10回に1回の見逃しがあったとすると、同様に
3つの危険が見逃されるのは100回に10分の1回です。
整数に直すと1000回に1回です。
確率で申し上げると、1000分の1の確率で見逃すということですから
0.1%ということとなります。

0.1×0.1×0.1=0.1%

私はというように理解したのですが、どうでしょうか?

確率論と考えていただいて間違いないと思います。

以下、前述の回答と重なりますが、もう少しかみ砕いた表現といたします

内部統制が存在いて、この点から虚偽記載がされなかった(固有リスク0%)とすると、虚偽の記載がなされないわけですから他のリスクがあったとしても、虚偽の記載はされません。

内部統制で充分なチェック体制が完璧であれば、虚偽の記載があったとしてもそれを100%発見できる(内部統制上リスク0%)のであれば、虚偽記載を防げます

監査手続きが完璧であれば、重要な虚...続きを読む

Qvlookupの結果が0になるセルと空白になるセル

vlookupの検索先のセルの見た目は空白なのですが結果が0になるセルと空白になるセルがあるのはどうしてなのでしょうか?
0になるセルを空白になるセルにコピペ、又はその逆をすると結果が違ってくるので両者には何かしら違いが有るはずなのです。
違いが分かる方いらっしゃいませんか?

計算式で結果を必ず0にする、空白にする等の回答は結構です。

Aベストアンサー

思い込みがあるように思いますので、まず以下のことを確認してみてください。

>両方ともF2を押して編集状態にしても何も入っていません

F2を押して編集状態にしても、文字数0の空白文字列が入っている場合は全く同じように見えます。

例えば「=TYPE(空白に見えるセル)」の数式で、文字列の「2」が返らないか調べてみてください。
あるいは「=COUNTA(空白に見えるセル)」で1が返ることでも確認できます。

このような空白文字列が入っている場合は(数式で空白文字列を返したセルを値貼り付けしたような場合に発生します)、その列を選択して「データ」「区切り位置」で「完了」すれば本当の空白セルにすることができます。

上記の検証で空白文字列ではないという結果が出た場合は、VLOOKUP数式セルの方の表示形式がユーザー定義になっていないか調べてみてください(条件付き書式は設定していないということなので)。

Q「かける」はなぜ「かけ算・multiply」の意味をもった?

「たす」は、もともとの意味そのままです。
「ひく」は、元のものからいくらか引っ張ってきて元のものが減ると考えれば理解できます。
「わる」は、割っていくつかのものになった一つを考えれば理解できます。

しかし、「かける」の意味は、液体や布を物の上に広げて乗せるような動作です。
この意味から「かけ算」の概念は出てこない気がします。
なぜ日本語でmultiplyのことを「かける」というのでしょうか?

Aベストアンサー

「掛ける」は古語では「掛く」ですね。
手元の古語辞典には十種類もの意味が載っていますが、その中に「ある物の上に他を加える」とあり、例文として「五割掛けて売る」とあります。

そこで、わが国最初の数学書「塵劫記」に、「掛く」が掛算の意味で使われているかを調べると、次の用例があります。

「右に十三俵と置、又左に十三俵とおきて、これにうえの一俵くわえて十四俵と成。これを右へ掛くれば百八十二俵に成。是を二つに割れば、九十一俵としれ申候也。」
また、
「六里に馬三匹を掛くれば十八里となり、これを四人で割れば四里半となる。」

「塵劫記」が出たのは江戸初期の寛永4年(1627年)ですから、この当時すでに「掛ける」という意味があったということですね。
そこから「掛け算」という言葉ができたと思います。

http://homepage1.nifty.com/zpe60314/jinkokiindex.htm

「掛く」は、古語辞典では、掛ける、吊り下げる、取り付ける、かぶせる、掛け渡す、兼ねる、(錠を)閉ざす、心に思うなど、多くの意味があって、なぜ数学で使う「かける」という意味になるかということは分かりません。
「塵劫記」に使われているというのも一つの答えだと思います。

「掛ける」は古語では「掛く」ですね。
手元の古語辞典には十種類もの意味が載っていますが、その中に「ある物の上に他を加える」とあり、例文として「五割掛けて売る」とあります。

そこで、わが国最初の数学書「塵劫記」に、「掛く」が掛算の意味で使われているかを調べると、次の用例があります。

「右に十三俵と置、又左に十三俵とおきて、これにうえの一俵くわえて十四俵と成。これを右へ掛くれば百八十二俵に成。是を二つに割れば、九十一俵としれ申候也。」
また、
「六里に馬三匹を掛くれば十八...続きを読む

Qエクセルで、ある列に不規則にある「連続した空白セルの最後尾セル」に空白の数を表示したい

エクセル(2003)を使ってます。

下のような表があるとします

   A       B
1  年月日  鈴木太郎
2  2008/1/1   鈴木
3  2008/1/2     
4  2008/1/3   鈴木
5  2008/1/4     
6  2008/1/5     
7  2008/1/6     
8  2008/1/7     
9  2008/1/8   鈴木

      ↓     


   A       B
1  年月日  鈴木太郎
2  2008/1/1   鈴木
3  2008/1/2    1
4  2008/1/3   鈴木
5  2008/1/4     
6  2008/1/5     
7  2008/1/6     
8  2008/1/7    4
9  2008/1/8   鈴木

B2~B9(実際にはB1500くらいまで…)の"鈴木"と"鈴木"の間にある連続した空白セルの
最後尾セルに空白の数を表示したいのです。
※ちなみにB列は同じ名前"鈴木"しか入ってません。

ご指導のほうよろしくお願いします。m(_ _)m

エクセル(2003)を使ってます。

下のような表があるとします

   A       B
1  年月日  鈴木太郎
2  2008/1/1   鈴木
3  2008/1/2     
4  2008/1/3   鈴木
5  2008/1/4     
6  2008/1/5     
7  2008/1/6     
8  2008/1/7     
9  2008/1/8   鈴木

      ↓     


   A       B
1  年月日  鈴木太郎
2  2008/1/1   鈴木
3  2008/1/2    1
4  2008/1/3   鈴木
5  2008...続きを読む

Aベストアンサー

とりあえず、今思い付いた内容を回答します。

「Sheet1」のシートが当質問の変換前の表であるものとします。

・「Sheet2」のシートを準備し、A1セルに下記式を入力後、「Sheet1」にデータがある範囲までA1の式を下及び右にコピーします。
 =IF(Sheet1!A2="","",ROW())

・「Sheet3」のシートを準備し、A1セルに下記式を入力後、「Sheet1」にデータがある範囲までA1の式を右にコピーします。
 =IF(Sheet1!A1="","",Sheet1!A1)

・「Sheet3」のA2セルに下記式を入力後、「Sheet1」にデータがある範囲までA2の式を下及び右にコピーします。
 =IF(Sheet1!A2="",IF(Sheet2!A2="","",Sheet2!A2-MAX(Sheet2!A$1:Sheet2!A1)-1),Sheet1!A2)

・「Sheet3」のA列の書式は、当該の日付形式に設定します。

「Sheet3」のシートが当質問の変換後の表になります。

こんな感じではいかがでしょうか。

とりあえず、今思い付いた内容を回答します。

「Sheet1」のシートが当質問の変換前の表であるものとします。

・「Sheet2」のシートを準備し、A1セルに下記式を入力後、「Sheet1」にデータがある範囲までA1の式を下及び右にコピーします。
 =IF(Sheet1!A2="","",ROW())

・「Sheet3」のシートを準備し、A1セルに下記式を入力後、「Sheet1」にデータがある範囲までA1の式を右にコピーします。
 =IF(Sheet1!A1="","",Sheet1!A1)

・「Sheet3」のA2セルに下記式を入力後、「Sheet1」にデータがある範囲...続きを読む

Q ^  と * の意味を教えてください 

物理の本を読んでいると「^」や「 * 」という記号が
よく出てくるのですが何のことか分かりません。

流れ的に*はかけ算のことかしら?2乗のことかしら?と思ったりもしましたが(汗

あまりに基本的そうな質問で申し訳ないのですが、よろしくお願いします。

Aベストアンサー

みなさんのおっしゃる通りで、
恐らく物理の演算をパソコンのプログラム
で組む時の解説であると思います。

-------------------------
BASIC や Visual Basic (EXCELやAccessでも使用する
コード)でも共通です。
X^N = xのN乗
A*B*C = A x B x C の事です。
--------------------------

Q空白セルを含む最終行変動データ行列で、特定の二つの列の空白セルのみに○を入力するマクロコードを教えて

空白セルを含む最終行変動データ行列で、特定の二つの列の空白セルのみに○を入力するマクロコードを教えて下さい。

Aベストアンサー

こんばんは!

>特定の二つの列・・・
とは具体的にどの列か判らないので、A・B列としてみました。

空白セルとは数式などによって空白に見えるセルではなく、何もデータがないセルだとします。

Sub Sample1()
Dim j As Long, lastRow As Long
For j = 1 To 2
lastRow = WorksheetFunction.Max(lastRow, Cells(Rows.Count, j).End(xlUp).Row)
Next j
If lastRow > 1 Then
On Error Resume Next '//←念のため//
Range(Cells(1, "A"), Cells(lastRow, "B")).SpecialCells(xlCellTypeBlanks).Value = "○"
End If
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

>特定の二つの列・・・
とは具体的にどの列か判らないので、A・B列としてみました。

空白セルとは数式などによって空白に見えるセルではなく、何もデータがないセルだとします。

Sub Sample1()
Dim j As Long, lastRow As Long
For j = 1 To 2
lastRow = WorksheetFunction.Max(lastRow, Cells(Rows.Count, j).End(xlUp).Row)
Next j
If lastRow > 1 Then
On Error Resume Next '//←念のため//
Range(Cells(1, ...続きを読む

Q分数の掛け算・割り算の3つの数の計算の仕方を・・

分数のかけ算・わり算の3つの数の計算の仕方を忘れてしまいましたので教えてほしいです

(1)○÷○÷○、(2)○×○÷○、(3)○÷○×○、(4)○×○×○

この4つすべての計算の仕方教えてくだされば幸いです。(○の部分の分数は何でもいいです)

よろしくお願いします

Aベストアンサー

()や指数、足算引算が無く、ただ分数の乗除の混成ならば、とにかく左から計算するのに慣れれば良いですよ。ただし、÷○/●は×●/○。つまり逆数にして掛け算にするだけ。

Qエクセル 関数で空白を入れたセルと空白セルは違う?

エクセル2010を使っている者です。

「データ」というシートのAL5というセルに
IF(ISERROR(INDEX(AL1:AL500,$A$5)),"",INDEX(AL1:AL500,$A$5))
と関数を入れており、その結果、空白が戻り値となり、見た目上、AL5は空白となっています。

しかし、別のシートのあるセル(A1とします)に
=IF('データ'!AL5="","",DATE(YEAR('データ '!AL5)-1,MONTH('データ '!AL5),DAY('データ '!AL5)))
と関数を入力すると、AL5は空白として扱われていないようで、そのセル(A1)は空白にならずに「H1810.12.31」と表示されてしまいます。

AL5に空白が返されているのなら、それを空白として扱ってもらうようにするにはどうすれば良いですか?

Aベストアンサー

まず質問文にある 1 本目の数式は、Excel 2007 以後に追加された IFERROR 関数を使って、もっと簡潔に、次式のとおり書いても同じ結果になります。ご存じなかった場合は、今後の参考にしてください。

=iferror(index(al1:al500,$A$5),"")

AL5 セルに上式を記入し、かつ A5 セルに「5」と記入するならば、どちらの関数であれ、循環参照となります。

どちらの関数であれ、AL5 がいったん空文字列を返した後、循環参照を発生させる「5」という値を A5 に記入すると、Excel の仕様の限界により、AL5 では「0」が新たに算出されたにも関わらずその表示は変化していないという現象が起こる可能性があります。

その場合は、AL5 をダブルクリックしてください。空文字列から別の値に表示が切り替わります。別の値というのは恐らく、「693962」か、この値をシリアル値とする日付です。なぜなら、その場合に 2 本目の数式の計算結果が「H1810.12.31」となるからです。


2 本目の数式は、「データ 」→「データ」というふうに半角スペースを削除すれば、正しく機能すると思います。

ということは、上の循環参照が不具合の原因ではなかった場合において、1 本目の数式によって空文字列を返しているように見える AL5 は、実は空文字列ではなく、数値のゼロなどを非表示するセルの書式またはオプションが適用されている可能性を確認する必要がありそう。

●ゼロを非表示にするセルの書式の例
 「G/標準;-G/標準;」、「0;-0;」、「#,##0;-#,##0;」、「;;」等々

●エラー値を除くあらゆる値を非表示にするセルの書式
 「;;;」

●ゼロを非表示にするオプション(シートごとに設定)
 「Excel のオプション > 詳細設定 > 次のシートで作業するときの表示設定 > ゼロ値のセルにゼロを表示する」のチェックなし


>AL5に空白が返されているのなら、それを空白として扱ってもらうようにするにはどうすれば良いですか?

「データ!al5=""」というふうに空文字列を指定する記述のままで問題ありません。なお「'データ'!al5=""」と書いても特にエラーにはなりませんが、今回の場合、「'」は不要です。そのため数式の確定時に、Excel によって自動的に削除されます。

また、真の空白セルを指定したい場合は、同じく「データ!al5=""」と記述するか、「データ!al5=0」と書いてもいいことになっています。空白セル以外に、前者には空文字列のセル、後者には「0」のセルも該当することは、言うまでもありません。ほとんど出番はないと思いますが一応、「and(データ!al5={"",0})」と書けば、空白セルのみ該当となります。

まず質問文にある 1 本目の数式は、Excel 2007 以後に追加された IFERROR 関数を使って、もっと簡潔に、次式のとおり書いても同じ結果になります。ご存じなかった場合は、今後の参考にしてください。

=iferror(index(al1:al500,$A$5),"")

AL5 セルに上式を記入し、かつ A5 セルに「5」と記入するならば、どちらの関数であれ、循環参照となります。

どちらの関数であれ、AL5 がいったん空文字列を返した後、循環参照を発生させる「5」という値を A5 に記入すると、Excel の仕様の限界により、AL5 では「0」が新...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報