エクセル技道場 RSSを登録する

Excelの効率的な操作の技、条件付き書式・入力規則などの機能をさらに便利に使いこなす技、組み合わせて使う関数の技などを配信。

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2008/06/30

【エクセル技道場】No.367 IF関数を使わない条件分岐

この記事を取り寄せる

■【エクセル技道場】No.367 2008/ 6/30 発行部数:12,649 不定期
■ http://www2.odn.ne.jp/excel/ まぐまぐID: 31665

○IF関数を使わない条件分岐

【問題】

 以下のそれぞれの数式をIF関数を使わないで他のワークシート関数で作成するに
はどうしたら良いでしょうか?

(1) C2:D2の両セルともに○が入力されていたら空白、それ以外の場合(両セルと
も○が入力されていないか、片方のセル一つにしか○が入力されていない)には●
を表示

(2) C2:D2に○が一つでも入力されていたら空白、それ以外の場合(両セルとも○
が入力されていない)には●を表示

(3) C2:D2の両セルともに○が入力されていたら空白、C2:D2のどちらかのセル一つ
に○が入力されていたら△、それ以外の場合(両セルとも○が入力されていない)
には●を表示






















【回答】

(1) C2:D2の両セルともに○が入力されていたら空白、それ以外の場合(両セルと
も○が入力されていないか、片方のセル一つにしか○が入力されていない)には●
を表示

=TEXT(COUNTIF(C2:D2,"○"),"[<2]●;")

(2) C2:D2に○が一つでも入力されていたら空白、それ以外の場合(両セルとも○
が入力されていない)には●を表示

=TEXT(COUNTIF(C2:D2,"○"),"[=0]●;")

または、

=TEXT(COUNTIF(C2:D2,"○"),";;●")

(3)C2:D2の両セルともに○が入力されていたら空白、C2:D2のどちらかのセル一つ
に○が入力されていたら△、それ以外の場合(両セルとも○が入力されていない)
には●を表示

=TEXT(COUNTIF(C2:D2,"○"),"[=0]●;[=1]△;")

【解説】

 こういう場合、TEXT関数とCOUNTIF関数を使って数式を組み立てると、IF、AND、
ORを使うよりもシンプルでわかりやすい数式になります。
 (1)〜(3)いずれのケースも「=TEXT(COUNTIF(C2:D2,"○"),」まではまったく同じ
で、それ以降だけを変えているだけです。

(1) C2:D2の両セルともに○が入力されていたら空白、それ以外の場合(両セルと
も○が入力されていないか、片方のセル一つにしか○が入力されていない)には●
を表示

=TEXT(COUNTIF(C2:D2,"○"),"[<2]●;")

↑最後の「"[<2]●;"」で、COUNTIF関数の結果が2未満、すなわち1か0であれば●
を、それ以外であれば空白を表示と設定しています。

(2) C2:D2に○が一つでも入力されていたら空白、それ以外の場合(両セルとも○
が入力されていない)には●を表示

=TEXT(COUNTIF(C2:D2,"○"),"[=0]●;")

↑最後の「"[=0]●;"」で、COUNTIF関数の結果が0であれば●を、それ以外であれ
ば空白を表示と設定しています。

=TEXT(COUNTIF(C2:D2,"○"),";;●")

↑最後の「";;●"」で、COUNTIF関数の結果が正であれば空白を、負であれば(実
際には負になることはありませんが)空白を、ゼロであれば●を表示と設定してい
ます。

(3)C2:D2の両セルともに○が入力されていたら空白、C2:D2のどちらかのセル一つ
に○が入力されていたら△、それ以外の場合(両セルとも○が入力されていない)
には●を表示

=TEXT(COUNTIF(C2:D2,"○"),"[=0]●;[=1]△;")

↑最後の「"[=0]●;[=1]△;"」で、COUNTIF関数の結果が0であれば●を、1であれ
ば△を、それ以外であれば空白を表示と設定しています。

○○あとがき○○

 前回、「Excelの起動と同時に入力モードを[ひらがな]に」<http://www2.odn.ne.jp/excel/waza/macro.html#SEC28>
という技を配信しましたが、不要な場合に個人用マクロブック(PERSONAL.XLS)を削除する具体的な手順は以下の通りです。

1. Alt+F11(メニュー[ツール]-[マクロ]-[VBE])
→VBE(Visual Basic Editor)が開く
2. 左の方に表示されているプロジェクトエクスプローラのVBAProject(PERSONAL.
XLS)をクリック
3. 画面下の方にあるイミディエイト・ウィンドウ(イミディエイト・ウィンドウ
が表示されていない場合にはCtrl+G(メニュー[表示]-[イミディエイト・ウィンド
ウ]))に↓をコピー&ペーストして、そのままEnter

? thisworkbook.Path

4.PERSONAL.XLSのパスが表示されるのでそれをコピー
5.Excelを終了(なおExcelを終了するとVBEも同時に終了する)
6.エクスプローラのアドレスバーに上記4でコピーしたパスをペーストしEnter
7.表示されたPERSONAL.XLSを削除

■■■■■掲載内容に起因する問題の責は負いかねます。
■本誌の転載等は非商用利用に限ります。出典明記でお願いします。
■解除■まぐまぐ: http://www.mag2.com/m/0000031665.htm
■発行者:janma
■■■■■【エクセル技道場】 http://www2.odn.ne.jp/excel/

この記事を取り寄せる
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る