エクセルで論理和などの値をセルに書きこみたい。
エクセルで数値AとBの論理和等を取ってセルに書き込みたいのですがどこかに具体的な方法が書いたサイトなどないでしょうか?真偽値が欲しいのではなく(A&B)や(AorB)の値が欲しいと言うことです。マクロは使った事がありません。よろしくお願いします。
投稿日時 - 2008-04-13 07:16:09
> マクロは使った事がありません。
経験がないという意味だけであって、使いたくない或は使うことが
禁止なのでしょうか?
※ お使いの 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 という名前は異る場合もあります。
投稿日時 - 2008-04-13 09:40:32
おおー、できました。
マクロは使い方が分からず、今日まで使えなかったのですが
はじめて使い方が分かりました。
丁寧にありがとうございます。本当に助かりました!!
シート上でのDEC2BIN関数は
二進数の表記が実は文字列だったりして
かなり苦戦しましたが、要はA,Bは10進表記で扱って
結果も10進で帰ってきて、ビットで見たければ
後で二進数に直せばいいという感じでしょうかね^^;
投稿日時 - 2008-04-13 15:31:49
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(2)
・ &や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
投稿日時 - 2008-04-13 08:43:29
あ~、このことはわかってました。
コレじゃない方法が知りたかったということなのです。
書き方が悪くてすみません。
なるほど、私が思うような使い方は
普通の方法では出来ないのですね。
どうもありがとうございました。
投稿日時 - 2008-04-13 15:39:42