小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2023年4月12日【ID:0】

【Excel】ORは「+」、ANDは「*」でも表現できる!?


IF関数などにOR条件やAND条件を使う場合、一般的にはOR関数やAND関数を活用するかと思います。
しかし、最新の機能「スピル」を活用した場合やFILTER関数などで条件を設定する場合に、OR関数やAND関数では上手く計算できないことがあります。
この原因は、OR関数とAND関数が配列数式に対応していないためです。

例えば、次のように、「B列の値が3、尚且つ、C列の値が3の場合にTRUE」と求める場合、AND関数で複数の範囲を設定すると、セルD3やD4に展開されることなくFALSEとなってしまいます。
この理由は、AND関数は引数の内容に対してすべてがTRUEの場合にTRUEを返すという物だからです。
なので、「行単位で求める」などのことが実現できません。

そんな時、AND関数の代わりに活用できるのが「*」になります。
AND条件を「*」で結ぶことにより下記のように求めることができます。

TRUEは「0」以外の数字、FALSEは「0」としても表現することができるので、このように表示されます。
TRUEもしくはFALSEで表現したい場合は、IF関数などを組み合わせてもいいかもです。

このように求めることができました。
では、なぜTRUEは「*」、FALSEは「+」で求めることができるのかを解説します。

基本、TRUEという値とFALSEという値を数字で表現すると以下のように「1」と「0」になります。

TRUEは「1」として管理されていますが、実際は「0」以外の数字がTRUE扱いになります。
その仕組みを活用すると、OR条件の場合、条件式を「+」で結ぶことで、どれか1つでもTRUEがあれば、足し算の答えが1以上になりTRUEになります。
AND条件の場合、条件式を「*」で結ぶことで、どれか1つでもFALSEがあれば、掛け算の答えが0になりFALSEになります。

数式によっては、AND関数やOR関数を使うよりもスッキリするのでお勧めです。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

5354315

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】ユーザー設定リストを使って効率化

【Excel】指定項目の先頭の値以外を薄くする

【Excel】瞬時にコピーするショートカット

【Excel】新機能:画像をセル内に配置

【Excel】計算なしで年代別集計

【Excel】同じ形式のグラフを作成

【Excel】日付に対応する曜日を表示

【ExcelVBA】カテゴリー単位でセルを自動結合

【Googleスプレッドシート】行や列の固定方法

【Excel】「今日の予定」を表から抽出

【ExcelVBA】数式「AND(3,4)」とVBA「3 And 4」は違う!?

【Excel】数式などでシートを切り替えずに別シートを参照!?

【Excel】○○IF(S)関数で使える条件式

【Excel】重複なしでコード単位の番号を割り当てる

【Excel】特定のセルに関して自分以外に入力させない

【Excel】入力値に応じて入力必須項目を変更

【ExcelVBA】データ変更と同時にピボットテーブルを自動更新

【Excel】期限に応じた優先度を自動で表示させる

【Excel】複数行のデータを瞬時に1列にする方法

【Excel】完全にランダムでチーム分け

【ExcelVBA】半角文字を自動で全角文字に変換

【ExcelVBA】ON・OFFボタンを開発

【Excel】データバーで特定の値以下の色を変更

【Excel】期限が3日以内の未完了タスクを色付け

【Excel】非表示セルを除いてコピー&ペースト





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ