Excel 2007 を使用していても周りが Excel 2000 や 2003 だと "Excel 97-2003 ブック" 形式で保存する必要があります。
しかし、Excel 2007 の「名前を付けて保存」ダイアログの「ファイルの種類」は 初期値が "Excel ブック" 形式なっています。
「ファイルの種類」の初期値は変更することができます。
まず 左上の丸いアイコンから「 Excel のオプション」を選択します。
「ファイルの保存形式」を "Excel 97-2003 ブック" に変更します。
これで「名前を付けて保存」ダイアログの「ファイルの種類」が "Excel 97-2003 ブック" になります。
Excel ではセルに書式を設定できますが、 TEXT ワークシート関数を使っても同じようなことができます。
書式は次のようになります。
=TEXT(値, 書式)
日本語曜日の書式 "aaa" を指定すると 次のようになります。
以前書いた HYPERLINK 関数と同様に数式の中で 使用できるのが大きなメリットです。
例えば次のように指定してみます。
=TEXT(B26, IF(YEAR(B26) < 2000, "yyyy/mm/dd", "yy/mm/dd"))
日付の年が 2000 年未満なら年を 4 桁、 そうでなければ 2 桁で表示します。
このような結果になります。
値に応じて書式を切り替えられるので便利です。
Excel には次の #N/A,#VALUE! などのワークシート上に 表示されるエラーがあります。
エラー | 説明 |
---|---|
#N/A | VLOOKUP関数などで検索にヒットしない場合などに発生します。 |
#VALUE! | 計算式に文字列が入ってるなどで計算できない場合に発生します。 |
#REF! | 参照先が存在しない場合に発生します。 |
#DIV/0 | 0 で除算した場合に発生します。 |
#NUM! | 計算結果が扱えない大きな数字になる場合などに発生します。 |
#NAME? | 関数などの名前が存在しない場合に発生します。 |
#NULL! | セル範囲の共通部分が存在しない場合に発生します。 |
この他に、表示が ### になる場合があります。
数値を表示するエリアが狭い場合か、日付の計算結果がマイナスになる場合に ### になります。
ISERROR, ISERR, ISNA という関数で エラーを判定することができます。 判定できるエラーは次のようになります。
Word では、次のように表を作ることができます。
表を選択した状態で [Delete] を押すと 表ではなく、表の中の値が削除されます。
[Back Space] を押すと表自体が削除されます。
Excel で、大文字から小文字、全角から半角など 文字を変換するワークシート関数を紹介します。
関数名 | 説明 |
---|---|
ASC | 全角英数カナを半角にします。平仮名はそのままです。 |
JIS | 半角英数カナを全角にします。 |
LOWER | 大文字を小文字にします。全角大文字は全角小文字になります。 |
UPPER | 小文字を大文字にします。全角小文字は全角大文字になります。 |
PROPER | 頭文字を大文字に、それ以外を小文字にします。全角も処理します。 |
いずれの関数も「平仮名」など変換対象外の文字は 変換されず、そのまま残ります。
Excel には文字検索用のワークシート関数として FIND と FIND があります。 この 2 つの関数の違いは、大文字・小文字の区別と、ワイルドカードが使用できるかどうかです。
関数名 | 大文字・小文字の区別 | ワイルドカードの使用 |
---|---|---|
FIND | する | 不可 |
SEARCH | しない | 可 |
"abcxyz" という文字列から "xyz" を検索してみます。
このような結果になります。
検索できなかった場合は、#VALUE! エラーになります。
Excel には文字置換用のワークシート関数として REPLACE と SUBSTITUTE があります。
"ABCDE" という文字列の "BCD" を "XYZ" に置換します。
REPLACE 関数の書式は次のようになります。
開始位置と置換する文字数を指定して置換します。
=REPLACE(文字列, 開始位置, 文字数, 置換文字列)
SUBSTITUTE 関数の書式は次のようになります。
=SUBSTITUTE(文字列, 検索文字列, 置換文字列)
VB などの Replace 関数は Excel の REPLACE 関数ではなく SUBSTITUTE 関数の方と同じ指定なのがややこしいですね。
Excel では、URL を貼り付けると自動的にハイパーリンクにしてくれる機能があります。 ワークシート関数を使っても ハイパーリンクを作成することができます。
HYPERLINK 関数は、次のような書式になります。
=HYPERLINK(リンク先, 別名)
この関数を使うメリットとしては、ハイパーリンクの生成の有無を数式に組み込めることです。
このように IF 関数を使って「 "http:" で始まる場合のみハイパーリンクを作成する」と いったこともできます。
Excel では通常 A1:B3 のようにセル範囲を指定しますが 次のように 青い範囲と赤い範囲を指定することで 共通部の紫の範囲を指定する、という方法があります。
範囲を半角スペースで区切って並べます。
(上の例では "B2:D6 C5:E8" )
これにより、共通部分が指定できます。 範囲は 3 つ以上でも並べることができます。
Excel のワークシート関数には、数値の切り上げ/切り捨てを してくれる関数が色々あります。
関数名 | 説明 |
---|---|
INT(数値) | 切り捨てて整数にします |
EVEN(数値) | 切り上げて偶数にします |
ODD(数値) | 切り上げて奇数にします |
CEILING(数値, 基準値) | 切り上げて基準値の倍数にします |
FLOOR(数値, 基準値) | 切り捨てて基準値の倍数にします |
ROUNDDOWN(数値, 桁数) | 指定した桁数で切り捨てます |
ROUNDUP(数値, 桁数) | 指定した桁数で切り上げます |
TRUNC(数値 [, 桁数]) | 指定した桁数で切り捨てます 桁数は省略できます |
ROUND(数値, 桁数) | 指定した桁数で四捨五入します |
「基準値の倍数」というのは、基準値が 2 であれば、4, 6, 8...のことです。 次のように 100 や 1000, 0.01 などを指定すると桁数を指定したことになります。
ROUNDDOWN と TRUNC の違いは TRUNC が桁数を省略できることです。
以前、「Oracle で簡単棒グラフ表示」という ネタを書きましたが、Excel のワークシート関数でも同じようなことができます。
次のように "REPT" 関数を使用します。
"REPT" 関数の定義は次のようになります。
=REPT(繰り返す文字, 繰り返し回数)
次のようにすると 5 段階評価っぽくできます。
Excel には、2 進数を 10 進数や 16 進数に変換したり 10 進数を 16 進数に変換したりするワークシート関数があります。
関数は次のものがあります。
関数名 | 変換前の値 | 変換後の値 | ||
---|---|---|---|---|
BIN2OCT | 2進数 | 10,000 | 8進数 | 20 |
BIN2DEC | 2進数 | 10,000 | 10進数 | 16 |
BIN2HEX | 2進数 | 10,000 | 16進数 | 10 |
OCT2BIN | 8進数 | 100 | 2進数 | 1000000 |
OCT2DEC | 8進数 | 100 | 10進数 | 64 |
OCT2HEX | 8進数 | 100 | 16進数 | 40 |
DEC2BIN | 10進数 | 100 | 2進数 | 1100100 |
DEC2OCT | 10進数 | 100 | 8進数 | 144 |
DEC2HEX | 10進数 | 100 | 16進数 | 64 |
HEX2BIN | 16進数 | 100 | 2進数 | 100000000 |
HEX2OCT | 16進数 | 100 | 8進数 | 400 |
HEX2DEC | 16進数 | 100 | 10進数 | 256 |
ただし、これらの関数は Excel2007 では普通に使えるのですが Excel2003 以前は「分析ツール」というアドオンを有効にしなくてはなりません。 (有効にするには Office の CD が必要です)
Excel では、セルに入力後、[Enter] を押すと フォーカスが移動してしまいます。 (デフォルトでは下に移動)
入力後にフォーカスを下以外に移動させたいときは 移動量が増えるので、少し面倒です。
入力後に移動させないためには、[Enter] を押すときに [Ctrl] も一緒に押します。
Excel には、アラビア数字 (1,2,3...) を ローマ数字 (I,II,III...) に変関してくれる関数が あります。
次のように ROMAN() 関数を使います。
=ROMAN(A1)
簡単に変換できます。