ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:dragonteeth エクセルで論理和などの値をセルに書きこみたい。
困り度:
  • すぐに回答を!
エクセルで数値AとBの論理和等を取ってセルに書き込みたいのですがどこかに具体的な方法が書いたサイトなどないでしょうか?真偽値が欲しいのではなく(A&B)や(AorB)の値が欲しいと言うことです。マクロは使った事がありません。よろしくお願いします。
質問投稿日時:08/04/13 07:16
質問番号:3944626
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:x415f484f > マクロは使った事がありません。

経験がないという意味だけであって、使いたくない或は使うことが
禁止なのでしょうか?

※ お使いの Excel のバージョンをお書きになっていませんので
  環境によって動作するかはわかりませんが。(2000,2003で確認)

マクロ(VBA)を使うことに抵抗がないのであればメニューから
ツール → マクロ → Visual Basic Editor

Visual Basic Editor のウィンドウが出ましたら、メニューから
挿入 → 標準モジュール

標準モジュールの右側にエディタが開きますので

Function AndValue(A,B)
AndValue = Val(A) And Val(B)
End Function

と書いて、Visual Basic Editor を閉じて(最小化でも構いません)
Excel の A1 と B1 のセルに適当な数値を入れて、C1 のセルにでも
「=AndValue(A1,B1) 」と入れてみて A1 と B1 に数値を And した
数値が C1 に出たら成功です。

あとはご自身で Or とか Xor など所望の関数を定義してあげれば
よろしいかと思われます。
# 提示させて頂いた関数をコピーして関数名を変えて And の部分のを
# Or などに置き換えるだけで済むかと思います。

マクロのセキュリティ設定によっては異なりますが、マクロを含む
データを保存した場合、次回からマクロが含まれているという警告が
でます。
保存したものを開く場合セキュリティが「中」以下になっていないと
動作しません。(バージョンによっては異るかもしれません)
※ ただし「低」にしないことをお薦めします。

マクロを残したくない場合は、結果のセルをコピーして「形式を指定
して貼り付け」などで値のみを残しておけばよろしいかと思います。
マクロの削除は Visual Basic Editor で Module1 を開放します。
# Module1 という名前は異る場合もあります。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/13 09:40
回答番号:No.2
この回答へのお礼おおー、できました。
マクロは使い方が分からず、今日まで使えなかったのですが
はじめて使い方が分かりました。
丁寧にありがとうございます。本当に助かりました!!

シート上でのDEC2BIN関数は
二進数の表記が実は文字列だったりして
かなり苦戦しましたが、要はA,Bは10進表記で扱って
結果も10進で帰ってきて、ビットで見たければ
後で二進数に直せばいいという感じでしょうかね^^;

回答

 

回答者:auty ・ &やorは使えない様です。

・ Excelのヘルプを見ましょう。たとえば、AND 演算の場合、
  次のようになっています。

------------------------------------------------------------

AND

すべての引数が TRUE のとき、TRUE を返します。引数が 1 つでも FALSE である場合、戻り値は FALSE になります。

書式

AND(論理式1, 論理式2, ...)

論理式1, 論理式2, ... TRUE か FALSE かを評価する論理式を指定します。引数は 1 〜 30 個まで指定できます。

引数には、TRUE または FALSE などの論理式、あるいは論理式を含む配列、参照を指定します。


引数として指定した配列や参照に、文字列または空白セルが含まれる場合、これらの値は無視されます。


指定した範囲に論理値が含まれていない場合は、エラー値 #VALUE! が返されます。
使用例

AND(TRUE, TRUE) = TRUE

AND(TRUE, FALSE) = FALSE

AND(2+2=4, 2+3=5) = TRUE
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:08/04/13 08:43
回答番号:No.1
この回答へのお礼あ〜、このことはわかってました。
コレじゃない方法が知りたかったということなのです。
書き方が悪くてすみません。

なるほど、私が思うような使い方は
普通の方法では出来ないのですね。

どうもありがとうございました。
 
最新から表示回答順に表示良回答のみ表示