EXCELちょっと便利テクニック

Home What's
New
Site
Concept
生産性向上
基本テクニック
トラブル回避
テクニック
生産性向上
リンク
personal.xls
強化講座
生産性向上
ツール
Site Map Coffee
Break
Guest
Book
地球風
画像館
Q&A Salon
EXCELの質問はこちらへ

 

02/01/2003 -
21-4.セルに名前をつけて配列数式を分かりやすくする
 
21-2. で配列数式の例を紹介しましたが、お世辞にも読みやすい(分かりやすい)数式とは言えませんね。
これは配列数式に限らず、エクセルではセルに名前をつけて、その名前を使って数式を記述することで、数式の可読性を上げることが出来ます。

21-2.
で紹介した配列数式を、セルにつけた名前で記述した場合の実例は以下のようになります。
 

名前のつけかた

まず、A2からA11までを選択した状態で、通常なら”A2”といったセル番地が表示される名前ボックス(右図の赤く囲んだ部分)に、名前を入力します。
(右の例では表の見出し部分と同じ”姓”という名前をセルにつけていますが、つける名前は何でも構いません)

同様に、
C2からC11を選択して”住所”、
D2からD11を選択して”性別”、
E2からE11を選択して”年齢”、
F2からF11を選択して”身長”、
G2からG11を選択して”体重”
とそれぞれセルの名前をつけておきます。

このようにあらかじめ名前を付けておけば、数式の中野セル範囲の記述を、名前に置き換えることができます。
 

 
 
下の表の右側が、セルにつけた名前を使って記述した数式です。
名前を使っていない場合に比べて、数式が何を求めようとしているのか、一目瞭然ですよね。

セルの名前で数式を書くことは、配列数式に限らず使えるテクニックですので、活用してください。
 
   
セルの名前付けを行っていない場合の記述
セルの名前付けを行った場合の記述
(a)
東京都在住の人数 {=SUM(IF(LEFT(C2:C11,3)="東京都",1,0))} {=SUM(IF(LEFT(住所,3)="東京都",1,0))}
(b1)
東京都在住の男性の人数 {=SUM(IF((LEFT(C2:C11,3)="東京都")*(D2:D11="男"),1,0))} {=SUM(IF((LEFT(住所,3)="東京都")*(性別="男"),1,0))}
(b2)
{=SUM(IF(LEFT(C2:C11,3)="東京都",IF(D2:D11="男",1,0),0))} {=SUM(IF(LEFT(住所,3)="東京都",IF(性別="男",1,0),0))}
(c)
千葉県または神奈川県の
在住人数
{=SUM(IF((LEFT(C2:C11,3)="千葉県")+(LEFT(C2:C11,4)="神奈川県"),1,0))} {=SUM(IF((LEFT(住所,3)="千葉県")+(LEFT(住所,4)="神奈川県"),1,0))}
(d)
30歳以上の人の身長の平均 {=AVERAGE(IF(E2:E11>=30,F2:F11))} {=AVERAGE(IF(年齢>=30,身長))}
(e1)
20歳台の人の身長の平均 {=AVERAGE(IF((E2:E11>=20)*(E2:E11<30),F2:F11))} {=AVERAGE(IF((年齢>=20)*(年齢<30),身長))}
(e2)
{=AVERAGE(IF(E2:E11>=20,IF(E2:E11<30,F2:F11)))} {=AVERAGE(IF(年齢>=20,IF(年齢<30,身長)))}
(f)
20歳台の男性の身長の平均 {=SUM(IF((D2:D11="男")*(E2:E11>=20)*(E2:E11<=29),F2:F11,0))/ SUM(IF((D2:D11="男")*(E2:E11>=20)*(E2:E11<=29),1,0))} {=SUM(IF((性別="男")*(年齢>=20)*(年齢<=29),身長,0))/SUM(IF((性別="男")*(年齢>=20)*(年齢<=29),1,0))}
(g)
男性の体重の最高値 {=MAX((D2:D11="男")*G2:G11)} {=MAX((性別="男")*体重)}
(h)
身長170cm未満の人の
体重の最高値
{=MAX((F2:F11<170)*G2:G11)} {=MAX((身長<170)*体重)}
(i)
女性の体重の最低値 {=MIN(IF(D2:D11="女",G2:G11,999))} {=MIN(IF(性別="女",体重,999))}

 

↑目次に戻る
モーグ
Google
  Web excel7.com