<?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>BITOR &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/bitor/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:26:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>BITOR &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのBITOR関数の使い方｜ビットORで権限・フラグを付与する</title>
		<link>https://mashukabu.com/spreadsheet-bitor-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bitor-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:18 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[BITOR]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[ビット演算]]></category>
		<category><![CDATA[フラグ管理]]></category>
		<category><![CDATA[権限管理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6309</guid>

					<description><![CDATA[GoogleスプレッドシートのBITOR関数の使い方を解説。2つの数値のビット単位OR演算で、権限の付与・複数フラグの合成・タグの集計まで実例付きで紹介します。エラー対処法やBITAND・BITXORとの使い分けも網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ユーザーごとに『閲覧』『編集』『削除』の権限を組み合わせて1つの数値にまとめたい&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで権限管理台帳やタグ管理シートを作っていると、複数のフラグを1つの数値に合成したい場面が出てきますよね。フラグの数だけ列を増やしてしまうと、後からシステムに渡しづらくなることもあります。</p>



<p class="wp-block-paragraph">そんなときに便利なのがGoogleスプレッドシートのBITOR関数です。2つの数値をビット単位でOR演算して、複数のフラグを1つの数値にまとめられますよ。</p>



<p class="wp-block-paragraph">しかも結果は数値型で返るので、IF関数やARRAYFORMULAと組み合わせて一覧を一括処理できます。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのBITOR関数の基本から権限の付与・タグの合成・複数列のフラグ集計まで解説します。BITAND・BITXORとの使い分けやエラー対処法にも触れていきますよ。</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">BITOR関数とは？</a></li><li><a href="#toc2" tabindex="0">BITOR関数の書き方（構文と引数）</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">ビットOR演算のイメージ表</a></li><li><a href="#toc6" tabindex="0">BITOR関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">数値を直接指定する</a></li><li><a href="#toc8" tabindex="0">セル参照で指定する</a></li><li><a href="#toc9" tabindex="0">ARRAYFORMULAで一括合成する</a></li></ol></li><li><a href="#toc10" tabindex="0">実務活用例1：権限フラグの付与</a><ol><li><a href="#toc11" tabindex="0">権限ビットの設計例</a></li><li><a href="#toc12" tabindex="0">単一権限の付与</a></li><li><a href="#toc13" tabindex="0">複数権限を一気に付与</a></li><li><a href="#toc14" tabindex="0">ARRAYFORMULAで一覧に一括付与</a></li></ol></li><li><a href="#toc15" tabindex="0">実務活用例2：複数フラグの合成</a><ol><li><a href="#toc16" tabindex="0">商品属性のフラグ設計例</a></li><li><a href="#toc17" tabindex="0">3つ以上のフラグを合成する</a></li></ol></li><li><a href="#toc18" tabindex="0">実務活用例3：複数列のタグを1つにまとめる</a><ol><li><a href="#toc19" tabindex="0">タグの設計例</a></li><li><a href="#toc20" tabindex="0">複数列のフラグをループ的に集計する</a></li></ol></li><li><a href="#toc21" tabindex="0">BITOR関数とExcelの互換性</a></li><li><a href="#toc22" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc23" tabindex="0">#NUM! エラー</a></li><li><a href="#toc24" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc25" tabindex="0">#N/A エラー</a></li><li><a href="#toc26" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc27" tabindex="0">他のビット演算関数との使い分け</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのBITOR関数（ビットオア関数）は、2つの数値をビット単位でOR演算する関数です。結果は10進数の数値で返ります。</p>



<p class="wp-block-paragraph">「ビット単位のOR演算」とは、2つの数値を2進数に変換し、同じ位置のビットを比べる計算のことです。どちらか一方でも1なら、その桁は1になります。</p>



<p class="wp-block-paragraph">たとえば、5と10のビットORを求める場合を見てみましょう。</p>



<ul class="wp-block-list"><li>5 を2進数にすると → <code>0101</code></li><li>10 を2進数にすると → <code>1010</code></li><li>OR演算の結果 → <code>1111</code>（= 10進数の15）</li></ul>



<p class="wp-block-paragraph">どちらか片方でも1の桁は、すべて1になるイメージですね。</p>



<p class="wp-block-paragraph">GoogleスプレッドシートのBITOR関数は、ExcelのBITOR関数と同じ構文で使えます。権限の付与やタグの合成など、フラグをまとめる業務で活躍してくれますよ。</p>



<h2 class="wp-block-heading"><span id="toc2">BITOR関数の書き方（構文と引数）</span></h2>



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



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



<p class="wp-block-paragraph">引数は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>OR演算を行う1つ目の数値（0以上の整数）</td></tr><tr><td>値2</td><td>必須</td><td>OR演算を行う2つ目の数値（0以上の整数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どちらの引数にも、0以上かつ<code>(2^48)-1</code>（= 281,474,976,710,655）以下の整数を指定します。この範囲を超えると<code>#NUM!</code>エラーになるので注意してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>BITOR関数はExcelとの互換性があるため、ExcelファイルをGoogleスプレッドシートで開いてもそのまま動作します。逆もまた然りです。バージョン違いで挙動が変わる心配はいりませんよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">ビットOR演算のイメージ表</span></h2>



<p class="wp-block-paragraph">BITOR関数の動きをイメージしやすくするため、よく使われる組み合わせを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>値1</th><th>値2</th><th>値1（2進）</th><th>値2（2進）</th><th>OR結果（2進）</th><th>結果（10進）</th></tr></thead><tbody><tr><td>5</td><td>10</td><td>0101</td><td>1010</td><td>1111</td><td>15</td></tr><tr><td>1</td><td>2</td><td>0001</td><td>0010</td><td>0011</td><td>3</td></tr><tr><td>4</td><td>2</td><td>0100</td><td>0010</td><td>0110</td><td>6</td></tr><tr><td>7</td><td>8</td><td>0111</td><td>1000</td><td>1111</td><td>15</td></tr><tr><td>5</td><td>4</td><td>0101</td><td>0100</td><td>0101</td><td>5</td></tr><tr><td>0</td><td>9</td><td>0000</td><td>1001</td><td>1001</td><td>9</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「片方でも1の桁はすべて1になる」というルールが見えてきますね。BITORを使うと、フラグを合成して1つの数値にまとめる処理が一発でできますよ。</p>



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=BITOR(5, 10)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bitor-function/02_formula_bitor-basic.png/">_images/spreadsheet-bitor-function/02_formula_bitor-basic.png</a></p>



<p class="wp-block-paragraph">結果は「15」です。先ほどの表のとおり、<code>0101</code>と<code>1010</code>のOR演算で<code>1111</code>（= 15）が返ります。</p>



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



<p class="wp-block-paragraph">結果は「3」です。<code>0001</code>と<code>0010</code>のOR演算で<code>0011</code>（= 3）になります。閲覧（1）と編集（2）の権限を合わせて「3」にする、というイメージですね。</p>



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



<p class="wp-block-paragraph">実務では、セルに入っているフラグ値を合成する場面が多いです。A2に「4」、B2に「2」が入っている場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=BITOR(A2, B2)</code></pre>



<p class="wp-block-paragraph">結果は「6」です。<code>0100</code>と<code>0010</code>のOR演算で<code>0110</code>（= 6）が返ります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_bitor-cellref.png" alt="03 result bitor cellref" /></figure>



<p class="wp-block-paragraph">途中の2進数表現を確認したいときは、<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>を組み合わせると分かりやすいですよ。</p>



<pre class="wp-block-code"><code>=DEC2BIN(A2)  → &quot;100&quot;
=DEC2BIN(B2)  → &quot;10&quot;</code></pre>



<h3 class="wp-block-heading"><span id="toc9">ARRAYFORMULAで一括合成する</span></h3>



<p class="wp-block-paragraph">スプレッドシートならではの強みが、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BITOR(A2:A10, B2:B10))</code></pre>



<p class="wp-block-paragraph">A列とB列に並んだフラグ値を、1つの数式でまとめて合成できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 既存権限</th><th>B列: 追加権限</th><th>結果（BITOR）</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>5</td><td>2</td><td>7</td></tr><tr><td>4</td><td>1</td><td>5</td></tr><tr><td>0</td><td>8</td><td>8</td></tr><tr><td>3</td><td>4</td><td>7</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_bitor-array.png" alt="04 result bitor array" /></figure>



<p class="wp-block-paragraph">権限の追加処理を1つの数式で一気に処理できますよ。</p>



<h2 class="wp-block-heading"><span id="toc10">実務活用例1：権限フラグの付与</span></h2>



<p class="wp-block-paragraph">BITOR関数の代表的な活用が、ビットフラグで管理された権限への新しい権限の付与です。</p>



<h3 class="wp-block-heading"><span id="toc11">権限ビットの設計例</span></h3>



<p class="wp-block-paragraph">たとえば、社内システムの権限を以下のようにビットフラグで管理しているとします。</p>



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



<p class="wp-block-paragraph">ユーザーの現在の権限値が「1」（閲覧のみ）だとして、ここに「編集（= 2）」を追加したいケースを考えます。</p>



<h3 class="wp-block-heading"><span id="toc12">単一権限の付与</span></h3>



<p class="wp-block-paragraph">「閲覧のみのユーザーに編集権限を追加する」には、次の数式を使います。</p>



<pre class="wp-block-code"><code>=BITOR(A2, 2)</code></pre>



<p class="wp-block-paragraph">A2に「1」が入っていれば、結果は「3」です。<code>0001</code>と<code>0010</code>のORで<code>0011</code>（= 3）になり、閲覧と編集の両方を持つ状態になりますね。</p>



<p class="wp-block-paragraph">すでに編集権限を持っている場合（A2が「3」など）にこの数式を使っても、結果は変わらず「3」のままです。OR演算の特徴で、同じビットを何度足しても二重計上にならない点が便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">複数権限を一気に付与</span></h3>



<p class="wp-block-paragraph">「閲覧・編集・削除」をまとめて付与したい場合は、合計値（1+2+4 = 7）をマスク値として渡します。</p>



<pre class="wp-block-code"><code>=BITOR(A2, 7)</code></pre>



<p class="wp-block-paragraph">A2が「8」（管理のみ）なら、結果は「15」（管理＋閲覧＋編集＋削除）になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">ARRAYFORMULAで一覧に一括付与</span></h3>



<p class="wp-block-paragraph">ユーザー一覧の全員に「閲覧権限（= 1）」を一括付与したい場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BITOR(B2:B100, 1))</code></pre>



<p class="wp-block-paragraph">B列に100人分の権限値が並んでいても、1つの数式で全員に閲覧権限を追加できますよ。すでに閲覧権限を持っている人の権限値は変わらないので、安全に一括処理できますね。</p>



<h2 class="wp-block-heading"><span id="toc15">実務活用例2：複数フラグの合成</span></h2>



<p class="wp-block-paragraph">「セール対象」と「送料無料」のフラグを別々の列で管理している場合に、1つの数値に合成したい場面でもBITOR関数が活躍します。</p>



<h3 class="wp-block-heading"><span id="toc16">商品属性のフラグ設計例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ビット</th><th>属性</th><th>値（10進）</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 class="wp-block-paragraph">A列に「セール対象（1 or 0）」、B列に「送料無料（2 or 0）」が入っているとします。これを1つの「商品コード」に合成するには、次のように書きます。</p>



<pre class="wp-block-code"><code>=BITOR(A2, B2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列: セール</th><th>B列: 送料無料</th><th>BITOR結果</th><th>2進表現</th><th>意味</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td><td>0011</td><td>セール＋送料無料</td></tr><tr><td>1</td><td>0</td><td>1</td><td>0001</td><td>セールのみ</td></tr><tr><td>0</td><td>2</td><td>2</td><td>0010</td><td>送料無料のみ</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0000</td><td>該当なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このコードを使えば、後からBITAND関数で「セール対象だけ抽出」といった判定がスムーズになります。「両方を満たす商品だけ抽出」のような複合条件もシンプルに書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">3つ以上のフラグを合成する</span></h3>



<p class="wp-block-paragraph">BITOR関数は引数を2つしか取れないので、3つ以上を合成するときはBITORを入れ子にします。</p>



<pre class="wp-block-code"><code>=BITOR(BITOR(A2, B2), C2)</code></pre>



<p class="wp-block-paragraph">A2（セール=1）、B2（送料無料=2）、C2（新商品=4）がすべて立っていれば、結果は「7」です。</p>



<p class="wp-block-paragraph">数が多い場合は、合計値が同じになるSUM関数で代用するのも手です。各フラグが0か対応する値だけを取る前提なら、<code>=SUM(A2:D2)</code>でも同じ結果が得られますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">実務活用例3：複数列のタグを1つにまとめる</span></h2>



<p class="wp-block-paragraph">部門・職種・ロケーションなど、複数のタグを1つのコードに集約したい場面でもBITORが便利です。</p>



<h3 class="wp-block-heading"><span id="toc19">タグの設計例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ビット</th><th>タグ</th><th>値（10進）</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><tr><td>5桁目</td><td>リモート可</td><td>16</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">社員ごとに該当するタグの値を入力しておけば、BITORでまとめて1つの「属性コード」が作れます。</p>



<pre class="wp-block-code"><code>=BITOR(BITOR(BITOR(A2, B2), C2), D2)</code></pre>



<p class="wp-block-paragraph">この属性コードがあれば、後で「東京勤務かつリモート可の社員を抽出」といった条件もBITAND関数で1発判定できますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">複数列のフラグをループ的に集計する</span></h3>



<p class="wp-block-paragraph">列が多い場合は、REDUCE関数（範囲を畳み込む関数）と組み合わせるとスッキリ書けます。</p>



<pre class="wp-block-code"><code>=REDUCE(0, A2:E2, LAMBDA(acc, val, BITOR(acc, val)))</code></pre>



<p class="wp-block-paragraph">初期値0から始めて、A2〜E2の各セルとBITORを取り続け、最終的に全フラグの合成値を返します。列を追加してもLAMBDAの中身を変えなくていいので、保守しやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">BITOR関数とExcelの互換性</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのBITOR関数は、ExcelのBITOR関数と仕様が同じです。構文・引数・有効範囲・エラー条件のすべてが一致しています。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いた場合でも、BITOR関数はそのまま動作します。逆にスプレッドシートで作成した数式をExcelで開いても問題ありませんよ。</p>



<p class="wp-block-paragraph">ExcelのBITOR関数はExcel 2013以降で利用できます。古いバージョンのExcelファイルを扱うときは、互換性に注意してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc22">エラーの種類と対処法</span></h2>



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



<p class="wp-block-paragraph">次のいずれかに当てはまると <code>#NUM!</code> エラーになります。</p>



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



<pre class="wp-block-code"><code>=BITOR(-1, 2)        → #NUM!（負の数は不可）
=BITOR(2.5, 2)       → #NUM!（小数は不可）</code></pre>



<p class="wp-block-paragraph">対処法は、INT関数で整数化してから渡すことです。</p>



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



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



<p class="wp-block-paragraph">引数に文字列を指定すると <code>#VALUE!</code> エラーになります。MID関数などで取り出した文字列をそのまま渡すと発生しがちです。</p>



<p class="wp-block-paragraph">対処法はVALUE関数（文字列を数値に変換する関数）で数値化することです。</p>



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



<h3 class="wp-block-heading"><span id="toc25">#N/A エラー</span></h3>



<p class="wp-block-paragraph">引数が不足している場合は <code>#N/A</code> エラーになります。BITORは引数2つが必須なので、片方しか渡していないと発生しますよ。</p>



<pre class="wp-block-code"><code>=BITOR(5)            → #N/A（引数不足）</code></pre>



<h3 class="wp-block-heading"><span id="toc26">エラー対処：IFERRORで包む</span></h3>



<p class="wp-block-paragraph">入力データが信頼できない場合は、IFERRORで包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(BITOR(A2, B2), 0)</code></pre>



<p class="wp-block-paragraph">エラー時に0を返すようにしておけば、後続の集計が止まらずに済みますよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートにはBITOR以外にもビット演算関数が用意されています。場面に応じて使い分けましょう。</p>



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



<p class="wp-block-paragraph">BITORは「フラグを足し合わせる」とき、BITANDは「特定のフラグが立っているか確認する」ときに使います。詳しくは<a href="https://mashukabu.com/spreadsheet-bitand-function/">BITAND関数の記事</a>でも紹介していますよ。付与にBITOR・チェックにBITANDという役割分担を覚えておくと便利ですね。</p>



<p class="wp-block-paragraph">XORでフラグをON/OFF切り替える操作と組み合わせると、ビット演算の表現の幅がぐっと広がりますね。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのBITOR関数は、2つの数値をビット単位でOR演算する関数です。複数のフラグを1つの数値に合成する処理で大きな威力を発揮しますよ。</p>



<ul class="wp-block-list"><li>構文は <code>=BITOR(値1, 値2)</code>、引数は0以上の整数</li><li>「片方でも1のビットは1」になるルールでフラグを合成できる</li><li>同じビットを何度足しても二重計上にならないので安全に追加できる</li><li>IF・ARRAYFORMULA・REDUCEと組み合わせて一覧を一括合成できる</li><li>3つ以上のフラグはBITORの入れ子かREDUCEでまとめる</li><li>ExcelのBITOR関数と完全互換（Excel 2013以降）</li></ul>



<p class="wp-block-paragraph">ビット演算は最初こそ難しく見えますが、BITOR関数を使えば権限の付与やフラグの合成がシンプルな数式で書けるようになります。まずは「<code>BITOR(現在の権限, 追加したい権限)</code>」のパターンから試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bitor-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
