Excel95 こまったこと

Excel95を使っていて困ったことです。


ショートカットキーでハングアップする

Ctrl+Shift+v でハングアップします。


シートのコピーでExcelが強制終了

1つのブックの中でSheet1、Sheet2、Sheet3をこの順番に並べます。

Sheet1のA2に =SUM(Sheet1:Sheet2!A1) と入力します。

Sheet1をSheet2とSheet3の間にコピーします。

(Sheet1のシート見出しをCtrlキーを押しながらSheet2とSheet3の シート見出しの間にドラッグします。)

コピーしたシートのA2セルを選択するとExcelが強制終了されます。


小数の計算が期待する値にならない

=0.1+0.2-0.3 や =0.5-0.4-0.1 が 0 になりません。

=(0.1+0.2-0.3) も =0.1+0.2-0.3+0 も =0.1+0.2-0.3-0 も 0 になりません。


セルに入力できない数値がある。ROUND 関数が期待する数値を返さない

例えば、40000.848 40000.098 9000.05085 などの数値をセルに入力すると、それよりも小さい数値に変化してしまいます。

=ROUND(VALUE("9000.05085"),4) は 9000.0508 となり、四捨五入にはなりません。表示形式、TEXT 関数、VBA のFormat 関数なども同様に四捨五入にはなりません。ROUNDDOWN 関数も同様に期待しない結果を返す場合があります。


時間の計算が期待する値にならない

2つの時刻の差が1時間以上か判定するために、C1のような計算式を入力します。

結果は 1:00 と表示されます。

      A      B                    C   
  1  9:01  10:01  =IF(B1-A1<TIME(1,0,0),B1-A1,"1時間以上")

2つの時刻の差を15分単位や10分単位に切り捨てるために、C列のような計算式を入力します。

結果は 2:00 や 1:00 になりません。

      A      B               C
 1  14:00  16:00  =FLOOR(B1-A1,"00:15")
 2  17:00  19:00  =FLOOR(B2-A2,"00:15")
 3  20:00  22:00  =FLOOR(B3-A3,"00:15")
 4   7:00   8:00  =FLOOR(B4-A4,"00:10")
 5  10:00  11:00  =FLOOR(B5-A5,"00:10")
 6  12:00  13:00  =FLOOR(B6-A6,"00:10")
 7  14:00  15:00  =FLOOR(B7-A7,"00:10")
 8  15:00  16:00  =FLOOR(B8-A8,"00:10")
 9  17:00  18:00  =FLOOR(B9-A9,"00:10")
10  18:00  19:00  =FLOOR(B10-A10,"00:10")
11  20:00  21:00  =FLOOR(B11-A11,"00:10")
12  21:00  22:00  =FLOOR(B12-A12,"00:10")


列幅によって数値の表示が変わる

セルに =123 と入力し、列幅を狭くすると、123, ##, #, 0, (空白) と変化します。
セルの表示形式を文字列に設定すると、123, 120, ##, #, 0, (空白) と変化します。

セルに =123.45 と入力し、列幅を狭くすると、123.45, 123.5, 123, ##, #, 0, (空白) と変化します。
セルの表示形式を文字列に設定すると、123.45, 123.5, 123, 120, ##, #, 0, (空白) と変化します。


数値と文字の区別がわかりにくい

表示形式が「標準」のセルに数字を入力すると数値データになります。
表示形式を「文字列」に変更しても、見た目は文字ですが、中身は数値のままです。

表示形式が「文字列」のセルに数字を入力すると文字データになります。
表示形式を「標準」などに変更しても、中身は文字のままです。

数値と数字文字列の混在に気付かずにいると、間違った計算をしてしまうことがあります。
例えば、SUM関数は数字文字列は計算しません。


空白セルと空文字列のセルの区別がわかりにくい

="" のセルをコピーして値のみ貼り付けをすると、空白セルではなく、空文字列(長さが0の文字列)を持つセルになります。

見た目は空白セルと同じですが、例えば、COUNTA関数ではカウントされてしまいます。


置換すると文字列が数値になってしまう

セルの表示形式を「文字列」にして、A001 と入力します。先頭のAを削除するために、[編集]-[置換]で、Aを空文字列([置換後の文字列]に何も入力しない)に置換すると、001という文字列データではなく、1という数値データに変換されてしまいます。


1900年2月29日がある

1900/2/29を入力してもエラーになりません。1900年2月29日は現実にはありません。


DATEDIF関数が期待する結果を返さない

=DATEDIF("1995/2/1","1996/3/1","YD") が28になります。"YD"は1年未満の日数を意味します。 1996年は閏年で1996/2/29があるので、実際には1995/2/1から1996/3/1は1年と29日です。

また、=DATEDIF("1996/4/30","1997/3/2","MD")が0になります。"MD"は1月未満の日数を意味します。 DATEDIF関数では1996/4/30から1997/3/2は0年10ヶ月0日になります。


Excelで出力したCSVファイルがExcelで正しく読み込めない

住所データの一部として例えば 1−2−10 とセルに文字列を入力し、このシートをCSVファイルとして保存します。 このCSVファイルをExcelで開くと、文字列が日付データに変換されてしまいます。

最初に入力した文字列のまま読み込みたい場合は、ファイル拡張子をCSV以外の、例えばTXTに変更してから 読み込み、テキストファイルウィザードで文字列として読み込むように指定をする必要があります。


フロッピーディスクの中のファイルを編集後、保存できない

500Kバイトから600KバイトのExcelファイルを1つ作成します。 (簡単に大きなファイルを作成するには、Alt+PrintScreenなどでウィンドウのハードコピーを取って ワークシートに貼り付けるという方法もあります。)

そのファイルを容量1.44MBのフロッピーディスクに2つコピーします。 この時点でフロッピーディスクにはまだ空きがあります。

2つのコピーのどちらか1つをExcelで開き、上書き保存しようとすると 「ディスクがいっぱいです」というメッセージが表示され保存できません。


作業状態ファイルにウィンドウ枠固定の設定が保存されない

ウィンドウ枠固定、ウィンドウの分割、行列番号の表示、枠線の表示などが保存されません。


既存の小計にさらに小さいグループの小計を挿入することができない

以下の表を、Field1を基準として集計し、さらにField2を基準として集計します。

       A       B       C   
  1  Field1  Field2  Field3
  2   A001     A         10
  3   A001     A         10
  4   A002     A         10
  5   A002     B         10
A1:C5のセル範囲を選択し、[データ]メニューの[集計]を選択します。

[グループの基準] ボックスでField1を選択し、 [現在の集計表と置き換える] チェック ボックスをオンにして [OK] をクリックします。

これでField1を基準とした集計ができました。

再び、[データ]メニューの[集計]を選択します。

[グループの基準] ボックスでField2を選択し、 [現在の集計表と置き換える] チェック ボックスをオフにして [OK] をクリックします。

Field2を基準とした集計は、Field1とは無関係に行われます。


データフォームが定義された名前を削除する

以下のような1行だけの表を、作成します。

       A       B       C   
  1  Field1  Field2  Field3
メニューから[挿入]-[名前]-[定義]を選択して、A1:C1 に Database という名前を定義します。

A1を選択して[データ]-[フォーム]を選択し、ダイアログボックスが表示されたら何もせずに[終了]ボタンをクリックします。

Database という名前が削除されています。


保護セルの内容が変わってしまう

以下の表を作成します。

     A     B     C   
  1  10    20  =A1+B1
  2  30    40  =A2+B2
A1:B2を選択して[書式]メニューの[セル]を選択します。 [保護]タブを選択して[ロック]チェックボックスをオフにし、[OK]をクリックします。

[ツール]メニューの[保護]-[シート保護]を選択します。[パスワード]は指定せず、[データ]チェックボックスがチェックされていることを確認して[OK]をクリックします。

これでA1:B2以外のセルは保護されました。変更しようとすると変更できない旨のメッセージが表示されます。

A1を選択して[編集]メニューの[切り取り]を選択、A2を選択して[編集]メニューの[貼り付け]を選択します。

C1とC2の内容が変更されます。



[戻る]