2009年11月16日

ウィンドウズ7初級キレ技

「システム手帳式」という講談社さんのシリーズに関わらせていただきました。



Windows 7はちょうどタイミングもあってちょっとタナボタ的にいただいた仕事で、できればExcelでも1冊出させていただきたいところなのですが……このシリーズではすでにいろいろな方がExcelに携わっていらっしゃいますし、時期的な問題もあるし、新しい切り口というのはなかなか難しいかもしれません。

で、これで単行本の仕事が切れてしまい、現在少々焦り始めています。(^^;)
(単行本以外では1つやっていますが、この作業ももうすぐ終わりそう)

何かいいお仕事の口があったら、どうぞよろしくお願いします。
別にライティングに限らず、結構何でもやりますので。
posted by 土屋和人 at 09:15| Comment(0) | TrackBack(0) | 仕事

2009年11月14日

最年少の会員名

【数式クイズ】 難易度:★★☆☆☆
A2:A11の各セルに会員の誕生日、その右隣のセルに会員の氏名が入力されています。
D2セルに、この中で最年少の会員の氏名を表示させます。

quiz36.jpg

D2セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 10:54| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月29日

関数の引数の省略

前回の数式クイズの解説部分で、VLOOKUP関数の第四引数検索の型を省略すると「FALSE」を指定したのと同じになる(つまり完全一致での検索)、と書きました。
これについて少々補足を。

一般に、ヘルプや解説書などを見ると、検索の型を省略するとTRUEを指定したことになる(つまり昇順の表で近似値を含めて検索)、と書かれています。

これは、前にも書いたように、第三引数列番号の後に「,」(カンマ)を付けるかどうかがポイントとなります。

カンマがなければ、Excelはそもそも「その引数が指定されていない」と見なします。
「省略時はTRUE」なので、TRUEが指定されたものとして処理を行います。

一方、カンマがあると、「その引数が指定された」と見なします。
「指定はされたけどそこには何もない」という状態です。
「何もない」場合、Excelはその部分を0(関数によっては空白文字列)として処理します。
たとえば、「=AVERAGE(3,3)」は「3」ですが、「=AVERAGE(3,3,)」や「=AVERAGE(3,,3)」は「2」になります。

VLOOKUP関数の話に戻すと、0はFALSEと等価なので、FALSEが指定されたのと同じ結果になる、というわけです。

省略可能な引数であっても、省略の仕方によってはこのような違いが出てくることは、認識しておいたほうがいいでしょう。
posted by 土屋和人 at 05:49| Comment(0) | TrackBack(0) | Excel

2009年10月27日

空白の場合は空白を表示

【数式クイズ】 難易度:★★☆☆☆
A1:B7のセル範囲は、名前とその得意技の一覧表です。
D2セルにこの表の中の名前を入力すると、E2セルにその人の得意技が表示されます。

quiz34.jpg

得意技がない人は表では空白なので、そのまま空白を表示します。

quiz35.jpg

ただし、Excelのオプションや、E2セルの表示形式、条件付き書式などは特に設定しておらず、初期状態のままだとします。

これをできるだけ簡単な数式で実現したい場合、E2セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 09:05| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月23日

2つの条件を満たす人の氏名

【数式クイズ】 難易度:★★★★☆
A1:C11のセル範囲に作成された購入額の一覧から、
・年齢が30歳未満
・購入額が30000円以上
の人の氏名を求め、E2セルに表示します。

quiz33.jpg

ただし、条件に合う人が複数いた場合は、一番先に出てきた人の氏名を表示します。
E2セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 09:03| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月22日

該当するページ番号を表示

【数式クイズ】 難易度:★★☆☆☆
用語辞典のような本の目次(索引)のデータです。
A2:A11のセル範囲に見出し(語の先頭文字)が、B2:B11のセル範囲にその開始ページが入力されています。
D2セルに用語(カタカナ)を入力すると、D5セルに、その語を含む範囲の開始ページが表示されます。

quiz32.jpg

D5セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 09:03| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月20日

同姓同名を含む出席番号表示

【数式クイズ】 難易度:★★★☆☆
昨日の問題は、同姓同名の生徒がいないことが前提でしたが、今回は同姓同名の生徒がいる可能性もあるという条件で、同様に出席番号を表示します。
順位であれば、1位が1人、2位が2人いた場合は、3位を飛ばして次は4位、という具合に付けていけばいいのですが、出席番号ではそうもいきません。
ここでは、まったく同じ名前が複数あった場合、上のほうの行に登場するほど小さい番号を付ける、というルールにします。

生徒の名前の読みがなが入力されているのはやはりA2:A8のセル範囲で、これをもとに五十音順の出席番号を右隣のセルに表示させます。

quiz31.jpg

まずB2セルに数式を入力し、この数式をB8セルまでコピーします。
B2セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 08:36| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月19日

出席番号を表示する

【数式クイズ】 難易度:★★☆☆☆
A2:A8のセル範囲に、生徒の名前の読みがなが入力されています。
これをもとにして、五十音順の出席番号を、その右隣のセルに表示させます。

quiz30.jpg

なお、よく似た名前はありますが、同姓同名の生徒はいないものとします。
まずB2セルに数式を入力し、この数式をB8セルまでコピーします。

B2セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 08:34| Comment(0) | TrackBack(0) | Excelクイズ

2009年10月16日

数式でラベルを使用する

昨日の数式クイズは、『ビジテク関数・数式』中の間違いの訂正であったのと同時に、実は今日のこのネタの前フリでした。(^^;)

クイズの例では、「名前の作成」機能を使って表の各行・各列に見出しの名前を設定していますが、名前を付けることなく、行・列の見出しを使ってデータセルを特定する方法が、なかったわけではありません。
それが、「数式でラベルを使用する」の設定です。

「ツール」メニューの「オプション」で表示される「オプション」ダイアログボックスの「計算方法」タブでこのチェックボックスをオンにすると、昨日のような表であれば、

=塩ラーメン 新宿支店

という数式で「289,000」という値が求められます。
ただし、この場合の「ラベル」(表の見出し)は、いわゆるセル参照とはちょっと違うので、INDIRECT関数の対象にはならず、昨日の解答例のようなことはできません。

また、

=塩ラーメン

のように行か列どちらか一方のラベルだけを指定した場合は、そのラベルが指定している行(列)で、この数式が入力されているセルと同じ列(行)のセルが参照されます。

ただし、「オプション」ダイアログボックスの表示手順でも気がつかれたかもしれませんが、この設定が可能なのはExcel 2003までです。

不要と判断されたのか、それとも新しい機能との整合性の問題か、Excel 2007ではこの機能は完全に削除されています。
これに相当するVBAの機能であるWorkbookオブジェクトのAcceptLabelsInFormulasプロパティも、2007では非表示になり、使用できなくなっています。

代わりに(?)、2007の「Excelのオプション」ダイアログボックスでは、「数式でテーブル名を使用する」という、似て(もいないか別に^^;)非なる設定が追加されています。
posted by 土屋和人 at 09:13| Comment(0) | TrackBack(0) | Excel

2009年10月15日

指定店の指定メニューの売上

【数式クイズ】 難易度:★★☆☆☆
A1:D6のセル範囲に、ラーメン店チェーンの支店・メニュー別の売上金額の一覧が入力されています。

この表の範囲を選択し、「数式」タブの「定義された名前」グループの「選択範囲から作成」を実行して、表の各行・各列に、それぞれの見出しを名前として設定しています。
(上記の手順はExcel 2007の場合。Excel 2003以前では、「挿入」→「名前」→「作成」)

設定した名前を利用して、A9セルに入力されたメニューの、B9セルに入力された支店での売上金額を、D9セルに表示します。

quiz29.jpg

D9セルにはどのような数式を入力すればよいでしょうか?

【解答例】
posted by 土屋和人 at 16:17| Comment(0) | TrackBack(0) | Excelクイズ