<?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/%E6%A8%A9%E9%99%90%E7%AE%A1%E7%90%86/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.0</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>スプレッドシートのBITAND関数の使い方｜ビットANDで権限・フラグ管理</title>
		<link>https://mashukabu.com/spreadsheet-bitand-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bitand-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:49 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[BITAND]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[ビット演算]]></category>
		<category><![CDATA[フラグ管理]]></category>
		<category><![CDATA[権限管理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6325</guid>

					<description><![CDATA[GoogleスプレッドシートのBITAND関数の使い方を解説。2つの数値のビット単位AND演算で、アクセス権限チェック・複数フラグ判定・Linuxパーミッションのrwx分解まで実例付きで紹介します。エラー対処法やBITOR・BITXORとの使い分けも網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ユーザーIDごとに付与された権限フラグの数値から、編集権限を持っている人だけを抽出したい&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートでアカウント管理台帳やシステム権限の一覧を扱っていると、ビットフラグで管理された権限値を1件ずつ手で判定するのは大変ですよね。フラグの数が増えると、IF文を何重にも重ねた数式は保守も難しくなります。</p>



<p class="wp-block-paragraph">そんなときに便利なのがGoogleスプレッドシートのBITAND関数です。2つの数値をビット単位でAND演算して、特定のビットが立っているかを一発で判定できますよ。</p>



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



<p class="wp-block-paragraph">この記事では、スプレッドシートのBITAND関数の基本から権限チェック・複数フラグ判定・Linuxパーミッション解析まで解説します。BITOR・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">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">ビットAND演算のイメージ表</a></li><li><a href="#toc6" tabindex="0">BITAND関数の基本的な使い方</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">ARRAYFORMULAで一覧を一括判定</a></li></ol></li><li><a href="#toc14" tabindex="0">実務活用例2：複数フラグの一括チェック</a><ol><li><a href="#toc15" tabindex="0">商品属性のフラグ設計例</a></li><li><a href="#toc16" tabindex="0">「すべて満たす」の判定</a></li><li><a href="#toc17" tabindex="0">「いずれかを満たす」の判定</a></li></ol></li><li><a href="#toc18" tabindex="0">実務活用例3：Linuxパーミッションのrwx分解</a><ol><li><a href="#toc19" tabindex="0">rwxフラグの設計</a></li><li><a href="#toc20" tabindex="0">オーナー権限を分解する</a></li><li><a href="#toc21" tabindex="0">rwx文字列で見やすく整形する</a></li></ol></li><li><a href="#toc22" tabindex="0">BITAND関数とExcelの互換性</a></li><li><a href="#toc23" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc24" tabindex="0">#NUM! エラー</a></li><li><a href="#toc25" tabindex="0">#VALUE! エラー</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">BITAND関数とは？</span></h2>



<p class="wp-block-paragraph">BITAND関数（ビットアンド関数）は、2つの数値をビット単位でAND演算（論理積）し、結果を10進数の数値で返す関数です。</p>



<p class="wp-block-paragraph">「ビット単位のAND演算」とは、2つの数値を2進数に変換して、同じ位置のビットがどちらも1のときだけ1を返す計算のことです。</p>



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



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



<p class="wp-block-paragraph">両方のビットが1になっている桁だけが残るイメージですね。</p>



<p class="wp-block-paragraph">GoogleスプレッドシートのBITAND関数は、Excelと同じ構文で使えます。アクセス権限のチェックやフラグ管理など、業務の自動化で活躍してくれますよ。</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 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>AND演算を行う1つ目の数値（0以上の整数）</td></tr><tr><td>値2</td><td>必須</td><td>AND演算を行う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>Excel側で動かしていた数式と互換性があるため、ExcelファイルをGoogleスプレッドシートで開いた場合でもそのまま動作します。逆にスプレッドシートで作った数式をExcelで開いても問題ありませんよ。</p></blockquote>



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



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



<figure class="wp-block-table"><table><thead><tr><th>値1</th><th>値2</th><th>値1（2進）</th><th>値2（2進）</th><th>AND結果（2進）</th><th>結果（10進）</th></tr></thead><tbody><tr><td>5</td><td>12</td><td>0101</td><td>1100</td><td>0100</td><td>4</td></tr><tr><td>13</td><td>11</td><td>1101</td><td>1011</td><td>1001</td><td>9</td></tr><tr><td>7</td><td>2</td><td>0111</td><td>0010</td><td>0010</td><td>2</td></tr><tr><td>7</td><td>5</td><td>0111</td><td>0101</td><td>0101</td><td>5</td></tr><tr><td>15</td><td>10</td><td>1111</td><td>1010</td><td>1010</td><td>10</td></tr><tr><td>8</td><td>1</td><td>1000</td><td>0001</td><td>0000</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「両方とも1の桁だけが残る」というルールが見えてきますね。値2を<strong>マスク</strong>として使うと、値1の中から特定のビットだけを抜き出せるという考え方が、フラグ管理の基本になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc6">BITAND関数の基本的な使い方</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>=BITAND(5, 12)</code></pre>



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



<pre class="wp-block-code"><code>=BITAND(13, 11)</code></pre>



<p class="wp-block-paragraph">結果は「9」です。<code>1101</code>と<code>1011</code>のAND演算で<code>1001</code>（= 9）になります。</p>



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



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_bitand-basic.png" alt="02 formula bitand basic" /></figure>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_bitand-basic.png" alt="03 result bitand basic" /></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;111&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(BITAND(A2:A10, 2))</code></pre>



<p class="wp-block-paragraph">A2からA10までの権限値に対して、「編集権限（= 2）」のビットが立っているかを1つの数式で一気に判定できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 権限値</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>7</td><td>=ARRAYFORMULA(BITAND(A2:A6, 2))</td><td>2</td></tr><tr><td>5</td><td>↓</td><td>0</td></tr><tr><td>6</td><td>↓</td><td>2</td></tr><tr><td>3</td><td>↓</td><td>2</td></tr><tr><td>4</td><td>↓</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">結果が0より大きければ編集権限ありと判定できますよ。</p>



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



<h2 class="wp-block-heading"><span id="toc10">実務活用例1：アクセス権限のチェック</span></h2>



<p class="wp-block-paragraph">BITAND関数の代表的な活用が、ビットフラグで管理されたアクセス権限のチェックです。</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">ユーザーの権限値が「7」の場合、2進数では<code>0111</code>です。閲覧・編集・削除の3つの権限を持っていることになりますね。</p>



<h3 class="wp-block-heading"><span id="toc12">単一権限のチェック</span></h3>



<p class="wp-block-paragraph">「編集権限（= 2）を持っているか」を判定するには、次の数式を使います。</p>



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



<p class="wp-block-paragraph">A2に「7」が入っていれば、結果は「2」です。0より大きいので、編集権限があると判定できます。A2に「5」（= <code>0101</code>、閲覧と削除のみ）が入っていれば、結果は「0」となり編集権限なしと判定できますよ。</p>



<p class="wp-block-paragraph">IF関数と組み合わせると、もっと分かりやすくなります。</p>



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



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



<h3 class="wp-block-heading"><span id="toc13">ARRAYFORMULAで一覧を一括判定</span></h3>



<p class="wp-block-paragraph">ユーザー一覧から編集可能なメンバーだけを抽出したい場合は、次のように書きます。</p>



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



<p class="wp-block-paragraph">B列に100人分の権限値が並んでいても、1つの数式で全員の編集権限を判定できますよ。</p>



<h2 class="wp-block-heading"><span id="toc14">実務活用例2：複数フラグの一括チェック</span></h2>



<p class="wp-block-paragraph">「セール対象かつ送料無料」のように、複数のフラグが同時に立っているかを判定する場面でもBITAND関数が活躍します。</p>



<h3 class="wp-block-heading"><span id="toc15">商品属性のフラグ設計例</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">商品コード「5」（= <code>0101</code>）はセール対象かつ新商品、商品コード「11」（= <code>1011</code>）はセール対象・送料無料・限定品です。</p>



<h3 class="wp-block-heading"><span id="toc16">「すべて満たす」の判定</span></h3>



<p class="wp-block-paragraph">「セール対象かつ送料無料」（= 値1+値2 = 3、<code>0011</code>）の商品を抽出するには、次のように書きます。</p>



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



<p class="wp-block-paragraph">BITAND関数の結果がチェック値（= 3）と完全一致したら、両方のフラグが立っていると判定できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 商品コード</th><th>2進表現</th><th>BITAND(A2,3)</th><th>判定</th></tr></thead><tbody><tr><td>3</td><td>0011</td><td>3</td><td>対象</td></tr><tr><td>5</td><td>0101</td><td>1</td><td>対象外（送料無料なし）</td></tr><tr><td>7</td><td>0111</td><td>3</td><td>対象</td></tr><tr><td>11</td><td>1011</td><td>3</td><td>対象</td></tr><tr><td>12</td><td>1100</td><td>0</td><td>対象外</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bitand-function/05_result_bitand-flags.png/">_images/spreadsheet-bitand-function/05_result_bitand-flags.png</a></p>



<p class="wp-block-paragraph">「<code>= 3</code>」と等価判定する点がポイントです。「<code>> 0</code>」だとどちらか片方でもヒットしてしまうので、用途に応じて使い分けてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc17">「いずれかを満たす」の判定</span></h3>



<p class="wp-block-paragraph">逆に「セールか送料無料、どちらか一方でも当てはまる」を判定したい場合は、結果を0と比較します。</p>



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



<p class="wp-block-paragraph">こちらは0より大きければOKなので、片方のフラグだけ立っていてもヒットしますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">実務活用例3：Linuxパーミッションのrwx分解</span></h2>



<p class="wp-block-paragraph">サーバー管理の現場では、<code>755</code>や<code>644</code>といった3桁のパーミッション値を<strong>読・書・実行</strong>の権限に分解したい場面があります。BITAND関数を使うと、各権限の有無を1桁ずつ判定できますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">rwxフラグの設計</span></h3>



<p class="wp-block-paragraph">Linuxパーミッションの1桁は、3つのビットフラグの合計です。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット</th><th>権限</th><th>値（10進）</th></tr></thead><tbody><tr><td>1桁目</td><td>実行（x）</td><td>1</td></tr><tr><td>2桁目</td><td>書き込み（w）</td><td>2</td></tr><tr><td>3桁目</td><td>読み込み（r）</td><td>4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「7」は4+2+1で読・書・実行すべて、「5」は4+1で読・実行のみを意味します。</p>



<h3 class="wp-block-heading"><span id="toc20">オーナー権限を分解する</span></h3>



<p class="wp-block-paragraph">A2に「755」が入っている場合、左端の「7」（オーナー権限）を取り出してBITANDで分解します。</p>



<pre class="wp-block-code"><code>=BITAND(VALUE(MID(A2,1,1)), 4)   ← 読み込み権限の有無
=BITAND(VALUE(MID(A2,1,1)), 2)   ← 書き込み権限の有無
=BITAND(VALUE(MID(A2,1,1)), 1)   ← 実行権限の有無</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>意味</th></tr></thead><tbody><tr><td>=BITAND(VALUE(MID(&#8220;755&#8221;,1,1)), 4)</td><td>4</td><td>オーナー読み込みあり</td></tr><tr><td>=BITAND(VALUE(MID(&#8220;755&#8221;,1,1)), 2)</td><td>2</td><td>オーナー書き込みあり</td></tr><tr><td>=BITAND(VALUE(MID(&#8220;755&#8221;,1,1)), 1)</td><td>1</td><td>オーナー実行あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MID関数で取り出した値は文字列なので、VALUE関数で数値に変換してからBITANDに渡している点がポイントです。</p>



<h3 class="wp-block-heading"><span id="toc21">rwx文字列で見やすく整形する</span></h3>



<p class="wp-block-paragraph">if文でrwx文字列を作ると、サーバー設定資料がぐっと見やすくなります。</p>



<pre class="wp-block-code"><code>=IF(BITAND(VALUE(MID(A2,1,1)),4)&gt;0,&quot;r&quot;,&quot;-&quot;) &amp;
 IF(BITAND(VALUE(MID(A2,1,1)),2)&gt;0,&quot;w&quot;,&quot;-&quot;) &amp;
 IF(BITAND(VALUE(MID(A2,1,1)),1)&gt;0,&quot;x&quot;,&quot;-&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「755」なら「rwx」、「644」なら「rw-」が返ります。Linuxの<code>ls -l</code>コマンドの出力イメージで権限を可視化できますね。</p>



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



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



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



<p class="wp-block-paragraph">Excel側の使い方を確認したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-bitand/">ExcelのBITAND関数</a>の記事も参考にしてくださいね。</p>



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



<h3 class="wp-block-heading"><span id="toc24">#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>=BITAND(-1, 2)        → #NUM!（負の数は不可）
=BITAND(2.5, 2)       → #NUM!（小数は不可）</code></pre>



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



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



<h3 class="wp-block-heading"><span id="toc25">#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>=BITAND(VALUE(A1), VALUE(B1))</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(BITAND(A2, 2), &quot;判定不可&quot;)</code></pre>



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



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算</th><th>説明</th><th>使いどころ</th></tr></thead><tbody><tr><td><strong>BITAND</strong></td><td>AND（論理積）</td><td>両方1のビットだけ残す</td><td>権限チェック・フラグ抽出</td></tr><tr><td>BITOR</td><td>OR（論理和）</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">BITANDは「特定のビットが立っているか確認する」ときに使います。フラグを追加したいときはBITOR、フラグのON/OFFを切り替えたいときはBITXORが便利ですよ。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのBITAND関数は、2つの数値をビット単位でAND演算する関数です。フラグ管理や権限チェックの自動化で大きな威力を発揮しますよ。</p>



<ul class="wp-block-list"><li>構文は <code>=BITAND(値1, 値2)</code>、引数は0以上の整数</li><li>マスク値とのANDで「特定のビットが立っているか」を判定できる</li><li>IF・ARRAYFORMULAと組み合わせて一覧を一括判定できる</li><li>「すべて満たす」は <code>= マスク値</code>、「いずれか満たす」は <code>> 0</code> で判定</li><li>Linuxパーミッションのrwx分解にも活用できる</li><li>ExcelのBITAND関数と完全互換</li></ul>



<p class="wp-block-paragraph">ビット演算は一見難しそうに見えますが、BITAND関数を使えば権限チェックやフラグ判定がシンプルな数式で書けるようになります。まずは「<code>BITAND(権限値, チェックしたいビット) > 0</code>」のパターンから試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bitand-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-2" checked><label class="toc-title" for="toc-checkbox-2">目次</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>
		<item>
		<title>スプレッドシートの共有・権限設定ガイド｜閲覧のみ・編集制限・セル保護まで徹底解説</title>
		<link>https://mashukabu.com/sheets-sharing-guide/</link>
					<comments>https://mashukabu.com/sheets-sharing-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:23:03 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[セル保護]]></category>
		<category><![CDATA[共有設定]]></category>
		<category><![CDATA[権限管理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5939</guid>

					<description><![CDATA[Googleスプレッドシートの共有方法と権限設定を徹底解説。閲覧のみ・編集制限・セル保護の使い分けから、リンク共有の落とし穴まで実務で役立つ情報をまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Googleスプレッドシートは複数人での同時編集が最大の強みです。<br>しかし共有設定を誤ると、情報漏洩や意図しない編集が起こります。</p>



<p class="wp-block-paragraph">この記事ではスプレッドシートの共有方法と権限設定を解説します。<br>「閲覧のみにしたい」「特定セルだけ編集不可にしたい」。<br>そんな実務の悩みを手順付きで解決していきます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">Googleスプレッドシートの基本的な使い方</a>もあわせてご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートの4つの権限レベルとは？</a><ol><li><a href="#toc2" tabindex="0">オーナー（最高権限）</a></li><li><a href="#toc3" tabindex="0">編集者</a></li><li><a href="#toc4" tabindex="0">コメント可</a></li><li><a href="#toc5" tabindex="0">閲覧者（閲覧のみ）</a></li><li><a href="#toc6" tabindex="0">シーン別・権限の使い分け早見表</a></li></ol></li><li><a href="#toc7" tabindex="0">共有の2つの方法｜リンク共有 vs 特定ユーザー共有</a><ol><li><a href="#toc8" tabindex="0">リンク共有の設定方法</a></li><li><a href="#toc9" tabindex="0">特定ユーザーへの共有方法</a></li><li><a href="#toc10" tabindex="0">どちらを使うべき？判断フローチャート</a></li></ol></li><li><a href="#toc11" tabindex="0">編集できないようにする方法｜セル・シートの保護設定</a><ol><li><a href="#toc12" tabindex="0">特定のセル範囲を保護する手順</a></li><li><a href="#toc13" tabindex="0">シート全体を保護する手順</a></li><li><a href="#toc14" tabindex="0">【Excel移行者向け】Excelの保護シートとの違い</a></li></ol></li><li><a href="#toc15" tabindex="0">共有通知の設定方法</a><ol><li><a href="#toc16" tabindex="0">通知メールの有無を切り替える</a></li><li><a href="#toc17" tabindex="0">メッセージを添付する</a></li></ol></li><li><a href="#toc18" tabindex="0">Google Workspaceのドメイン制限共有</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">絶対やってはいけない共有設定3選（事故防止）</a><ol><li><a href="#toc22" tabindex="0">NG①：機密情報を「リンクを知っている全員」で共有する</a></li><li><a href="#toc23" tabindex="0">NG②：編集者の「権限変更・共有」を制限しない</a></li><li><a href="#toc24" tabindex="0">NG③：退職者・プロジェクト終了後の権限を放置する</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートの4つの権限レベルとは？</span></h2>



<p class="wp-block-paragraph">共有時に設定できる権限は4種類あります。<br>それぞれの違いを正しく理解しましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">オーナー（最高権限）</span></h3>



<p class="wp-block-paragraph">ファイル作成者に自動で付与される最上位の権限です。<br>閲覧・編集・削除・権限管理のすべてが可能です。<br><strong>1ファイルにつき1人だけ</strong>が持てます。<br>別のユーザーへの所有権譲渡もできます。</p>



<h3 class="wp-block-heading"><span id="toc3">編集者</span></h3>



<p class="wp-block-paragraph">コンテンツの追加・編集・削除ができます。<br>コメントの追加・返信・削除も可能です。<br>デフォルトでは他ユーザーへの共有も許可されています。<br>この共有許可はオーナーがオフにして制限できます。</p>



<h3 class="wp-block-heading"><span id="toc4">コメント可</span></h3>



<p class="wp-block-paragraph">ファイルの閲覧とコメントの追加・返信のみ可能です。<br>セルの値や数式の変更はできません。<br>デフォルトではダウンロード・印刷・コピーが可能です。<br>「意見はほしいが編集されたくない」場面に最適です。</p>



<h3 class="wp-block-heading"><span id="toc5">閲覧者（閲覧のみ）</span></h3>



<p class="wp-block-paragraph">閲覧だけの権限で、編集もコメントもできません。<br>報告資料の共有や完成データの配布に向いています。<br>ダウンロード・印刷・コピーは設定で制限可能です。</p>



<h3 class="wp-block-heading"><span id="toc6">シーン別・権限の使い分け早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>シーン</th><th>おすすめ権限</th></tr></thead><tbody><tr><td>チームで共同編集したい</td><td>編集者</td></tr><tr><td>フィードバックだけほしい</td><td>コメント可</td></tr><tr><td>完成資料を配布したい</td><td>閲覧者</td></tr><tr><td>外部パートナーに一時共有</td><td>閲覧者（後で削除）</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc7">共有の2つの方法｜リンク共有 vs 特定ユーザー共有</span></h2>



<p class="wp-block-paragraph">スプレッドシートの共有方法は大きく2つあります。<br>それぞれの特徴と使い分けを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">リンク共有の設定方法</span></h3>



<p class="wp-block-paragraph">リンクを知っている人なら誰でもアクセスできる方法です。<br>Googleアカウントなしでアクセスできる場合もあります。<br>共有ボタンから「リンクを取得」で設定します。<br>権限レベル（閲覧者・コメント可・編集者）も選べます。</p>



<p class="wp-block-paragraph">手軽ですがリンクが転送されると範囲が広がります。<br>特定の人だけアクセスを取り消すことはできません。<br>テンプレート配布やイベント案内の共有に向いています。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/01_ui_share-dialog-link.png" alt="01 ui share dialog link" /></figure>



<h3 class="wp-block-heading"><span id="toc9">特定ユーザーへの共有方法</span></h3>



<p class="wp-block-paragraph">メールアドレスを指定して個別に招待する方法です。<br>共有ボタンから相手のメールアドレスを入力します。<br>招待された側はGoogleアカウントでのログインが必要です。</p>



<p class="wp-block-paragraph">1人ずつ権限を設定でき、個別に取り消しも可能です。<br>機密情報や社内文書の共有に最適です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/02_ui_share-dialog-user.png" alt="02 ui share dialog user" /></figure>



<h3 class="wp-block-heading"><span id="toc10">どちらを使うべき？判断フローチャート</span></h3>



<p class="wp-block-paragraph">以下の基準で判断しましょう。</p>



<ul class="wp-block-list"><li><strong>機密情報を含む</strong> → 特定ユーザー共有が必須</li><li><strong>不特定多数に配布する</strong> → リンク共有（閲覧のみ推奨）</li><li><strong>個別にアクセス管理したい</strong> → 特定ユーザー共有</li><li><strong>相手がGoogleアカウントを持たない</strong> → リンク共有</li></ul>



<p class="wp-block-paragraph">迷ったら「特定ユーザー共有」を選べば安全です。</p>



<h2 class="wp-block-heading"><span id="toc11">編集できないようにする方法｜セル・シートの保護設定</span></h2>



<p class="wp-block-paragraph">「一部だけ編集可能にしたい」場合は保護機能を使います。<br>保護には2種類のモードがあります。</p>



<ul class="wp-block-list"><li><strong>警告表示モード</strong>: 警告は出るが編集は可能（軽い抑止力）</li><li><strong>編集制限モード</strong>: 指定ユーザー以外は完全にブロック</li></ul>



<h3 class="wp-block-heading"><span id="toc12">特定のセル範囲を保護する手順</span></h3>



<ol class="wp-block-list"><li>保護したいセル範囲を選択する</li><li>メニュー「データ」→「シートと範囲を保護」を選択</li><li>サイドバーで保護の名前と範囲を確認する</li><li>「権限を設定」をクリックする</li><li>「自分のみ」または特定ユーザーを指定する</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/03_ui_protect-range-sidebar.png" alt="03 ui protect range sidebar" /></figure>



<h3 class="wp-block-heading"><span id="toc13">シート全体を保護する手順</span></h3>



<ol class="wp-block-list"><li>メニュー「データ」→「シートと範囲を保護」を選択</li><li>「シート」タブを選び、対象シートを選ぶ</li><li>「特定のセルを除く」で入力欄だけ除外できる</li><li>「権限を設定」で編集可能なユーザーを指定する</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/04_ui_protect-sheet-sidebar.png" alt="04 ui protect sheet sidebar" /></figure>



<p class="wp-block-paragraph">入力フォームで「特定セルだけ入力可」にする使い方が便利です。</p>



<h3 class="wp-block-heading"><span id="toc14">【Excel移行者向け】Excelの保護シートとの違い</span></h3>



<p class="wp-block-paragraph">ExcelからGoogleスプレッドシートへの移行時は注意が必要です。<br><a href="https://mashukabu.com/excel-vs-spreadsheet/">ExcelとGoogleスプレッドシートの違い</a>も参考にしてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>保護方式</td><td>パスワード</td><td>Googleアカウント指定</td></tr><tr><td>インポート時</td><td>—</td><td>保護設定は引き継がれない</td></tr><tr><td>隠し数式</td><td>パスワードで保護</td><td>見えてしまう可能性あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に重要なポイントは以下の3つです。</p>



<ul class="wp-block-list"><li>Excelの保護設定はインポート後に<strong>手動で再設定が必要</strong></li><li>パスワード保護という仕組み自体がSheetsにはない</li><li>隠し列や数式がSheets上で見える場合がある</li></ul>



<h2 class="wp-block-heading"><span id="toc15">共有通知の設定方法</span></h2>



<p class="wp-block-paragraph">共有時の通知と変更時の通知は別の設定です。<br>それぞれの違いを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">通知メールの有無を切り替える</span></h3>



<p class="wp-block-paragraph">共有ダイアログに「ユーザーに通知する」のチェックがあります。<br>オンにすると相手に招待メールが届きます。<br>オフなら通知なしで権限だけが付与されます。</p>



<p class="wp-block-paragraph">大人数に共有する場合はオフがおすすめです。<br>一斉メール送信を防げます。</p>



<h3 class="wp-block-heading"><span id="toc17">メッセージを添付する</span></h3>



<p class="wp-block-paragraph">通知をオンにするとメッセージを添えられます。<br>「○○のデータです。ご確認ください」など一言あると親切です。</p>



<p class="wp-block-paragraph">変更通知は「ツール」→「通知設定」から設定します。<br>ただしこの通知設定は<strong>自分自身にのみ有効</strong>です。<br>他のユーザーには各自で設定してもらう必要があります。</p>



<h2 class="wp-block-heading"><span id="toc18">Google Workspaceのドメイン制限共有</span></h2>



<p class="wp-block-paragraph">法人向けのGoogle Workspaceには追加の制限機能があります。<br>組織外への情報流出を防ぐ設定を確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">組織内限定で共有する方法</span></h3>



<p class="wp-block-paragraph">共有ダイアログで「組織名内のユーザーのみ」を選べます。<br>リンク共有でも組織外ユーザーはアクセスできなくなります。<br>社内文書の共有に最適な設定です。</p>



<h3 class="wp-block-heading"><span id="toc20">外部共有を禁止する管理者設定</span></h3>



<p class="wp-block-paragraph">管理コンソールから組織全体の外部共有を制限できます。<br>「アプリ → Google Workspace → ドライブとドキュメント → 共有設定」で設定します。<br>信頼済みドメインだけ許可するホワイトリスト方式も可能です。<br>個人アカウントとの共有を禁止する設定もあります。</p>



<p class="wp-block-paragraph">この設定には「サービス設定」の管理者権限が必要です。</p>



<h2 class="wp-block-heading"><span id="toc21">絶対やってはいけない共有設定3選（事故防止）</span></h2>



<p class="wp-block-paragraph">最後に情報漏洩につながる危険な設定を紹介します。<br>以下の3つは必ず避けてください。</p>



<h3 class="wp-block-heading"><span id="toc22">NG①：機密情報を「リンクを知っている全員」で共有する</span></h3>



<p class="wp-block-paragraph">リンク共有で編集権限を付与するのは最も危険な設定です。<br>リンクが転送されると誰でも編集できてしまいます。<br>しかも特定の人だけアクセスを取り消せません。</p>



<p class="wp-block-paragraph"><strong>対策</strong>: 機密情報は「特定のユーザーのみ」で共有しましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">NG②：編集者の「権限変更・共有」を制限しない</span></h3>



<p class="wp-block-paragraph">デフォルトでは編集者が他の人を招待できます。<br>意図しない第三者にアクセス権が広がるリスクがあります。</p>



<p class="wp-block-paragraph"><strong>対策</strong>: 共有設定の歯車アイコンから制限しましょう。<br>「編集者が権限を変更して共有できます」のチェックを外します。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/sheets-sharing-guide/05_ui_share-settings-gear.png/">_images/sheets-sharing-guide/05_ui_share-settings-gear.png</a></p>



<h3 class="wp-block-heading"><span id="toc24">NG③：退職者・プロジェクト終了後の権限を放置する</span></h3>



<p class="wp-block-paragraph">退職者のアクセス権が残る「ゾンビアクセス」は要注意です。<br>Googleアカウントが有効な限りアクセスできてしまいます。</p>



<p class="wp-block-paragraph"><strong>対策</strong>: 四半期ごとに共有ユーザーを棚卸ししましょう。<br>Google Workspace管理者は監査ログで確認できます。</p>



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



<p class="wp-block-paragraph">スプレッドシートの共有は、正しい権限設定がカギです。<br>この記事のポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>4つの権限レベルを理解して用途に合った設定を選ぶ</li><li>機密情報は「特定ユーザー共有」で管理する</li><li>セルやシートの保護で部分的に編集を制限する</li><li>共有ユーザーは定期的に見直す</li><li>リンク共有は便利だがリスクを理解して使う</li></ul>



<p class="wp-block-paragraph">関数の使い方も知りたい方は<a href="https://mashukabu.com/sheets-vlookup-guide/">スプレッドシートのVLOOKUP完全ガイド</a>もチェックしてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-sharing-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
