<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>論理積 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E8%AB%96%E7%90%86%E7%A9%8D/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Wed, 29 Apr 2026 12:05:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>論理積 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのBITAND関数の使い方｜ビットAND演算の基本と実務活用</title>
		<link>https://mashukabu.com/excel-function-howto-use-bitand/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-bitand/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 31 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[BITAND関数]]></category>
		<category><![CDATA[ビット演算]]></category>
		<category><![CDATA[フラグ管理]]></category>
		<category><![CDATA[論理積]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2777</guid>

					<description><![CDATA[ExcelのBITAND関数の使い方を初心者向けに解説。構文・引数の詳細から、フラグ管理・権限チェック・データフィルタリングなどの実務活用例、よくあるエラーの対処法、BITOR・BITXORとの使い分けまで網羅しています。]]></description>
										<content:encoded><![CDATA[
<p>Excelで2つの数値をビット単位で比較したいけれど、やり方がわからない…そんな経験はありませんか？</p>



<p>ビット演算は「なんだか難しそう」と敬遠されがちですよね。でも、アクセス権のチェックやフラグ管理、複数条件の一括判定など、実務で役立つ場面は意外と多いんです。</p>



<p>この記事では、ExcelのBITAND関数の使い方を基本から丁寧に解説します。構文や引数はもちろん、実務での具体的な活用例、よくあるエラーの対処法、関連関数との使い分けまで網羅しているので、最後まで読んでみてくださいね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのBITAND関数とは？</a></li><li><a href="#toc2" tabindex="0">BITAND関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc5" tabindex="0">BITAND関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">数値を直接指定する方法</a></li><li><a href="#toc7" tabindex="0">セル参照で指定する方法</a></li></ol></li><li><a href="#toc8" tabindex="0">BITAND関数の実務活用例</a><ol><li><a href="#toc9" tabindex="0">活用例1: アクセス権限のチェック</a></li><li><a href="#toc10" tabindex="0">活用例2: 複数フラグの一括チェック</a></li><li><a href="#toc11" tabindex="0">活用例3: データフィルタリングと件数集計</a></li><li><a href="#toc12" tabindex="0">活用例4: 偶数・奇数の判定</a></li></ol></li><li><a href="#toc13" tabindex="0">BITAND関数のよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#NUM! エラー</a></li><li><a href="#toc15" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc16" tabindex="0">#NAME? エラー</a></li><li><a href="#toc17" tabindex="0">結果がうまく合わないとき</a></li></ol></li><li><a href="#toc18" tabindex="0">他のビット演算関数との使い分け</a><ol><li><a href="#toc19" tabindex="0">BITAND と BITOR の使い分け</a></li><li><a href="#toc20" tabindex="0">BITAND と BITXOR の使い分け</a></li><li><a href="#toc21" tabindex="0">BITAND と AND関数の違い</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのBITAND関数とは？</span></h2>



<p>BITAND関数（ビットアンド関数）は、Excelで2つの数値のビット単位のAND演算（論理積）を行うための関数です。</p>



<p>「ビット単位のAND演算」とは、2つの数値を2進数に変換して比較する計算です。同じ位置のビットがどちらも1のときだけ1を返し、それ以外は0になります。</p>



<p>たとえば、5と12のビットANDを求める場合を見てみましょう。</p>



<ul class="wp-block-list"><li>5 を2進数にすると → 0101</li><li>12 を2進数にすると → 1100</li><li>AND演算の結果 → 0100（= 10進数の4）</li></ul>



<p>両方のビットが1になっている桁だけが残る、というイメージですね。</p>



<p>BITAND関数はExcel 2013以降で利用できます。お使いのバージョンが対応しているか、確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">BITAND関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=BITAND(数値1, 数値2)</code></pre>



<p>引数は2つとも必須です。省略するとエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値1</td><td>必須</td><td>AND演算を行う1つ目の数値（0以上の整数）</td></tr><tr><td>数値2</td><td>必須</td><td>AND演算を行う2つ目の数値（0以上の整数）</td></tr></tbody></table></figure>



<p>どちらの引数にも、0以上かつ(2^48)-1以下の整数を指定します。この範囲を超えると#NUM!エラーになるので注意してくださいね。</p>



<p>48ビットというと大きく感じますが、10進数では281,474,976,710,655（約281兆）まで扱えるという意味です。実務でフラグ管理に使う範囲なら、まず気にしなくて大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">BITAND関数の基本的な使い方</span></h2>



<p>まずはシンプルな使い方から見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">数値を直接指定する方法</span></h3>



<p>セルに次のように入力します。</p>



<pre class="wp-block-code"><code>=BITAND(5, 12)</code></pre>



<p>結果は <strong>4</strong> になります。</p>



<p>この計算を2進数で確認すると、次のとおりです。</p>



<ul class="wp-block-list"><li>5 = 0101（2進数）</li><li>12 = 1100（2進数）</li><li>AND = 0100（2進数）= 4（10進数）</li></ul>



<h3 class="wp-block-heading"><span id="toc7">セル参照で指定する方法</span></h3>



<p>A1セルに「13」、B1セルに「11」が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=BITAND(A1, B1)</code></pre>



<p>結果は <strong>9</strong> です。</p>



<ul class="wp-block-list"><li>13 = 1101（2進数）</li><li>11 = 1011（2進数）</li><li>AND = 1001（2進数）= 9（10進数）</li></ul>



<p>DEC2BIN関数（10進数を2進数に変換する関数）を使うと、途中の2進数変換も確認できますよ。</p>



<pre class="wp-block-code"><code>=DEC2BIN(A1)  → &quot;1101&quot;
=DEC2BIN(B1)  → &quot;1011&quot;</code></pre>



<p>慣れないうちは、計算用シートにDEC2BIN関数で2進数表記の列を並べておくと、結果を目で追いやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc8">BITAND関数の実務活用例</span></h2>



<p>「ビット演算って実務で使うの？」と思った方もいるかもしれません。実は、フラグ管理やアクセス権チェック、複数条件の一括判定などで活躍するんです。ここでは具体的な4つの例を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">活用例1: アクセス権限のチェック</span></h3>



<p>たとえば、システムの権限をビットフラグで管理しているケースを考えてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット位置</th><th>権限</th><th>値</th></tr></thead><tbody><tr><td>1桁目</td><td>閲覧</td><td>1</td></tr><tr><td>2桁目</td><td>編集</td><td>2</td></tr><tr><td>3桁目</td><td>削除</td><td>4</td></tr><tr><td>4桁目</td><td>管理</td><td>8</td></tr></tbody></table></figure>



<p>ユーザーの権限値が「7」の場合、2進数では「0111」です。つまり閲覧・編集・削除の権限を持っています。</p>



<p>このユーザーが「編集権限（= 2）」を持っているかを調べるには、次の数式を使います。</p>



<pre class="wp-block-code"><code>=BITAND(7, 2)</code></pre>



<p>結果は <strong>2</strong> です。0より大きいので、編集権限があると判定できますね。</p>



<p>IF関数と組み合わせると、もっと分かりやすくなります。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A2, 2) &gt; 0, &quot;編集可&quot;, &quot;編集不可&quot;)</code></pre>



<p>A2セルにユーザーの権限値を入れておけば、編集権限の有無を自動判定できますよ。</p>



<p>複数のユーザーの権限を一覧でチェックしたい場合は、こんな表を組み立てるのがおすすめです。</p>



<figure class="wp-block-table"><table><thead><tr><th>ユーザー</th><th>権限値</th><th>閲覧</th><th>編集</th><th>削除</th><th>管理</th></tr></thead><tbody><tr><td>山田</td><td>15</td><td>○</td><td>○</td><td>○</td><td>○</td></tr><tr><td>佐藤</td><td>3</td><td>○</td><td>○</td><td>&#8211;</td><td>&#8211;</td></tr><tr><td>鈴木</td><td>5</td><td>○</td><td>&#8211;</td><td>○</td><td>&#8211;</td></tr></tbody></table></figure>



<p>各セルには <code>=IF(BITAND($B2,1)>0,"○","-")</code> のように書きます。数値部分はビット位置に合わせて 1, 2, 4, 8 と切り替えてくださいね。アカウント管理表をExcelで運用しているチームでは、このパターンがけっこう重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">活用例2: 複数フラグの一括チェック</span></h3>



<p>商品の属性をビットフラグで管理している場合にも使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット</th><th>属性</th><th>値</th></tr></thead><tbody><tr><td>1桁目</td><td>セール対象</td><td>1</td></tr><tr><td>2桁目</td><td>送料無料</td><td>2</td></tr><tr><td>3桁目</td><td>新商品</td><td>4</td></tr><tr><td>4桁目</td><td>限定商品</td><td>8</td></tr></tbody></table></figure>



<p>商品コード「5」（= 0101）は「セール対象」かつ「新商品」です。</p>



<p>「セール対象かつ送料無料」（= 3）の商品を抽出するには、次のように書きます。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A2, 3) = 3, &quot;対象&quot;, &quot;対象外&quot;)</code></pre>



<p>BITAND関数の結果がチェック値と一致すれば、すべてのフラグが立っていると判定できます。</p>



<p>ポイントは「<code>> 0</code>」と「<code>= チェック値</code>」の使い分けです。</p>



<ul class="wp-block-list"><li><code>BITAND(A2, 3) > 0</code> → セール対象 <strong>または</strong> 送料無料のどちらかが立っていればTRUE</li><li><code>BITAND(A2, 3) = 3</code> → セール対象 <strong>かつ</strong> 送料無料の両方が立っていればTRUE</li></ul>



<p>「いずれか1つでも該当」と「すべて該当」では条件が大きく変わるので、目的に合わせて選んでくださいね。</p>



<h3 class="wp-block-heading"><span id="toc11">活用例3: データフィルタリングと件数集計</span></h3>



<p>BITAND関数はSUMPRODUCT関数やSUM関数と組み合わせると、条件に合うデータの件数集計にも使えます。</p>



<p>たとえばA2:A100に商品の属性値が入っているとしましょう。「セール対象かつ新商品」（= 5）の商品件数を数える場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((BITAND(A2:A100, 5) = 5) * 1)</code></pre>



<p>スピル対応のExcel（Microsoft 365、Excel 2021以降）なら、BITAND関数も配列に対応していて上の数式が自然に動きます。古いバージョンを使っている場合は、Ctrl+Shift+Enterで配列数式として確定してくださいね。</p>



<p>「特定の権限を持つユーザー数」「フラグが立っている案件件数」を出したい場面でも、同じ考え方で集計できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">活用例4: 偶数・奇数の判定</span></h3>



<p>ちょっとした応用ですが、BITAND関数を使うと数値が偶数か奇数かを判定できます。最下位ビット（1の位）が1なら奇数、0なら偶数というルールを使うわけですね。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A2, 1) = 1, &quot;奇数&quot;, &quot;偶数&quot;)</code></pre>



<p>ISODD関数（奇数判定）やMOD関数でも同じことはできます。それでも、BITAND関数の発想に慣れる練習として知っておくと便利ですよ。「ビットの1の位だけ取り出す」イメージをつかむのに役立ちます。</p>



<h2 class="wp-block-heading"><span id="toc13">BITAND関数のよくあるエラーと対処法</span></h2>



<p>BITAND関数で発生しやすいエラーをまとめました。実務で困ったときの早見表として活用してください。</p>



<h3 class="wp-block-heading"><span id="toc14">#NUM! エラー</span></h3>



<p>次のいずれかに該当すると#NUM!エラーになります。</p>



<ul class="wp-block-list"><li>引数に負の数を指定した場合</li><li>引数に(2^48)-1（= 281,474,976,710,655）を超える値を指定した場合</li><li>引数に小数を指定した場合</li></ul>



<p>対処法: 引数には0以上の整数を指定してください。小数が入る可能性がある場合は、INT関数（小数点以下を切り捨てる関数）で整数に変換しましょう。</p>



<pre class="wp-block-code"><code>=BITAND(INT(A1), INT(B1))</code></pre>



<p>外部システムからCSVで取り込んだデータでは、見た目は整数でも内部で小数になっているケースがあります。エラーが出たらまずINT関数でくるんで試してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc15">#VALUE! エラー</span></h3>



<p>引数に文字列を指定すると#VALUE!エラーになります。空白セル参照や、見出し行を一緒に範囲指定してしまった場合に起きやすいエラーです。</p>



<p>対処法: セル参照の場合は、参照先が数値であることを確認しましょう。VALUE関数（文字列を数値に変換する関数）で数値に変換する方法もあります。</p>



<pre class="wp-block-code"><code>=BITAND(VALUE(A1), VALUE(B1))</code></pre>



<p>数値のはずなのに#VALUE!が出る場合は、セル左上の緑の三角マークもチェックしてみてください。これは「文字列として保存された数値」の警告マークです。</p>



<h3 class="wp-block-heading"><span id="toc16">#NAME? エラー</span></h3>



<p>関数名のスペルミスや、Excel 2010以前のバージョンで使ったときに#NAME?エラーになります。</p>



<p>対処法: 関数名が「BITAND」と正しく入力されているか確認してください。古いバージョンで使う必要がある場合は、AND関数（論理AND）と混同していないかも見直しましょう。BITAND関数はExcel 2013以降の機能です。</p>



<h3 class="wp-block-heading"><span id="toc17">結果がうまく合わないとき</span></h3>



<p>エラーは出ないけれど期待した結果にならない、という場合は次の3点をチェックしてみてください。</p>



<ol class="wp-block-list"><li>引数の値を本当に2進数でイメージできているか（DEC2BIN関数で確認すると確実）</li><li>比較対象の値が「すべて立っているか（= チェック値）」と「いずれか1つ以上立っているか（> 0）」のどちらを判定したいのか</li><li>ビット位置と桁の対応（1桁目=1、2桁目=2、3桁目=4、4桁目=8…）が合っているか</li></ol>



<p>特に3つ目は、フラグ管理の表を作るときに混乱しがちなポイントです。「ビット位置 → 値」の早見表を別シートに用意しておくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">他のビット演算関数との使い分け</span></h2>



<p>Excelにはビット演算関数がいくつか用意されています。場面に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算</th><th>説明</th><th>使いどころ</th></tr></thead><tbody><tr><td>BITAND</td><td>AND（論理積）</td><td>両方1のビットだけ残す</td><td>権限チェック・フラグ抽出</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitor">BITOR</a></td><td>OR（論理和）</td><td>どちらか1のビットを残す</td><td>権限の付与・フラグ追加</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitxor">BITXOR</a></td><td>XOR（排他的論理和）</td><td>異なるビットだけ残す</td><td>フラグの切り替え（トグル）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitlshift">BITLSHIFT</a></td><td>左シフト</td><td>ビットを左にずらす</td><td>値の2倍・4倍計算</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitrshift">BITRSHIFT</a></td><td>右シフト</td><td>ビットを右にずらす</td><td>値の半分計算</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">BITAND と BITOR の使い分け</span></h3>



<p>BITANDは「両方立っているか確認する」、BITORは「どちらかを立てる（追加する）」のが基本の考え方です。</p>



<p>たとえば、ユーザー権限値が「3（閲覧+編集）」のときに「削除権限（=4）」を追加したいなら、BITORで合成します。</p>



<pre class="wp-block-code"><code>=BITOR(3, 4)  → 7（閲覧+編集+削除）</code></pre>



<p>そのうえで「削除権限を持っているか」を確認するときにBITANDが活躍する、という流れですね。「足し算がBITOR、確認がBITAND」と覚えておくと混乱しません。</p>



<h3 class="wp-block-heading"><span id="toc20">BITAND と BITXOR の使い分け</span></h3>



<p>BITXORは「同じ位置のビットが違っていれば1、同じなら0」を返す関数です。フラグのON/OFFを切り替える（トグルする）ときに便利です。</p>



<pre class="wp-block-code"><code>=BITXOR(7, 2)  → 5（編集権限のビットだけ反転）</code></pre>



<p>「権限を一時的に剥奪する」「設定を切り替える」用途ならBITXOR、「権限が立っているか確認する」用途ならBITAND、と使い分けましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">BITAND と AND関数の違い</span></h3>



<p>名前が似ている <strong>AND関数</strong> と混同しないように注意してください。AND関数は引数の論理値（TRUE/FALSE）がすべてTRUEならTRUEを返すもので、ビット単位の演算は行いません。</p>



<ul class="wp-block-list"><li><code>=AND(TRUE, FALSE)</code> → FALSE（論理値の判定）</li><li><code>=BITAND(5, 12)</code> → 4（ビットごとの計算）</li></ul>



<p>「ビット単位で扱いたいときがBITAND、条件式の組み合わせを判定したいときがAND」と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc22">まとめ</span></h2>



<p>この記事では、ExcelのBITAND関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li>BITAND関数は2つの数値のビット単位のAND演算（論理積）を行う関数</li><li>引数は2つとも必須で、0以上(2^48)-1以下の整数を指定する</li><li>アクセス権チェック・フラグ管理・データ集計・偶数奇数判定など、実務でも幅広く活用できる</li><li>#NUM!や#VALUE!エラーが出たら、INT関数やVALUE関数で型を整えるのがコツ</li><li><a href="https://mashukabu.com/excel-function-howto-use-bitor">BITOR</a>（フラグ追加）や<a href="https://mashukabu.com/excel-function-howto-use-bitxor">BITXOR</a>（フラグ切替）と組み合わせると、フラグ管理が一気に強力になる</li></ul>



<p>ビット演算は一見むずかしそうに見えますが、BITAND関数を使えばExcelで手軽に計算できます。まずは権限チェックや偶数・奇数判定など、身近な使い方から試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-bitand/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
