![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
Javaの`Integer.bitCount()`メソッドは、与えられた整数のビット表現においてセットされているビットの数を数えます。
これをExcelの数式で表現するには、ビット演算を使用することは難しいですが、`SUBSTITUTE`や`LEN`などの関数を使って近似することはできます。以下は、Excel数式の例ですが、これは正確なビット数を返すものではありません。`A1`に整数があると仮定します:
```excel
=LEN(SUBSTITUTE(SUBSTITUTE(A1,"0",""),"",""))
```
これは、整数のビット表現において0以外の文字(1)の数を数える簡易的な方法です。ただし、`Integer.bitCount()`と同等の効率的なビット演算をExcelで直接行うことは難しいです。
No.4
- 回答日時:
>100を入れると3、 10や5なら2、8や4や2や1なら、1というようにです。
を実現するだけであれば、A1セルに入力した数値の結果をB1セルに表示するとして、B1セルに
=LEN(SUBSTITUTE(IF(A1>32767,#NUM!,VALUE(IF(A1>=16384,"1","0")&IF(MOD(A1,16384)>=8192,"1","0")&IF(MOD(A1,8192)>=4096,"1","0")&IF(MOD(A1,4096)>=2048,"1","0")&IF(MOD(A1,2048)>=1024,"1","0")&IF(MOD(A1,1024)>=512,"1","0")&TEXT(IF(A1<512,DEC2BIN(A1),DEC2BIN(MOD(A1,512))),"000000000"))),"0",""))
を入れることで可能です。
但し、A1に入力できる数値は0~32767の範囲とし、それ以外の数値の場合の結果は保証されないものとします。
No.3
- 回答日時:
こんにちは
「Integer.bitCount() 」を正確には知りませんので、完全互換にはならないかも知れませんけれど・・・
エクセルの関数に2進数表記に変換するものがありますので、これで対象の数を変換して「1」の数を数えれば似た様なものを作ることは可能です。
例えば、A1セルに元の値(整数)があるとして、
=LEN(SUBSTITUTE(DEC2BIN(A1),"0",""))
とすることで、多少は似た計算が可能です。
異なる点は、DEC2BIN関数は9ビットまでの対応なので0~511までしか計算できません。
また、負数は補数表現になる関係からビット数が異なるので違う結果になります。
とは言え、上記を元に工夫すれば、同等の計算を作成することは可能と思います。
例えば、2進化する部分を
DEC2BIN(QUOTIENT(A1,512))&DEC2BIN(MOD(A1,512),9)
のような計算に置換えることで、対象を0~262143(=512*512-1)まで拡張できます。
(8ビットずつにした方がわかりやすいかも知れませんが・・)
同じ要領で桁数を上げてゆけば、正の数は互換にできるでしょうし、負の数は先に判定して別に計算するようにすれば、同等のものを作成することも可能と思いますので、ご自身で試してみてください。
No.2
- 回答日時:
ユーザー関数判りますか?
以下をお試しください。
Function BitCount(r As Range)
Dim n As Long
If r.Count > 1 Then
BitCount = "#error"
Exit Function
End If
BitCiunt = 0
n = r
While n > 0
If (n And 1) Then BitCount = BitCount + 1
n = Int(n / 2)
Wend
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Excel(エクセル) エクセルの条件付き書式 4 2023/04/17 11:05
- Excel(エクセル) エクセルのCOUNTIF関数の使い方 1 2022/04/25 15:50
- Excel(エクセル) 【エクセル関数】アルファベットで以上だったらカウントする 4 2022/07/09 14:07
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- Excel(エクセル) エクセル:シフト表条件付き書式色付けのカウント方法 3 2022/10/11 21:59
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
Excelのテーブルでmatch関数の使い方について
Excel(エクセル)
-
同じ型【ハイフンと数字】をぶつけて、イコールである事を証明する関数はありますか?
Excel(エクセル)
-
【マクロ】for nextステートメントがわかりません。例あり。
Excel(エクセル)
-
-
4
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
5
Excelに入力しているタグ<br>にだけ、その部分にだけ改行させたい
Excel(エクセル)
-
6
引数に数値、文字列の混在
Visual Basic(VBA)
-
7
データから単位文字を除去して計算する方法は?
Excel(エクセル)
-
8
エクセル VBAでの転記の方法について
Visual Basic(VBA)
-
9
Googleシート「A1」でなくて「A001」にしたいのですが
Excel(エクセル)
-
10
excl2013 縦の表を横にVBAでする方法
Excel(エクセル)
-
11
DBCS関数とは何ぞやッ!
Excel(エクセル)
-
12
VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。
Visual Basic(VBA)
-
13
Cellsのコードが打てません
Visual Basic(VBA)
-
14
Excelの共有ファイルについて質問です。
Excel(エクセル)
-
15
得意先毎に商品の最新単価表を作成したく、質問です。 過去の売上履歴は、弥生会計からExcelに抽出し
Excel(エクセル)
-
16
Excelの関数で起きた現象の原因がわかりません。
Excel(エクセル)
-
17
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
-
18
同じ型【ハイフンと数字】だけ抜き出す関数について
Excel(エクセル)
-
19
Excelでの判別方法
Excel(エクセル)
-
20
エクセル詳しい方教えて下さい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL16進⇒浮動小数変換したい
-
エクセルでビット1をカウント J...
-
(<<1) & 0xeeeeなどが分かりません
-
排他的論理和
-
6ビット(符号含む)の二進数
-
エクセルVBAで xlOn xlOff の切替
-
電子透かしを使用した場合の著...
-
文字の容量(サイズ)についての...
-
【有効数字について】 授業で、...
-
EXCELでの16進数取り出し、上...
-
KBのMB違いって
-
ワードの改行について
-
実行計画の「COST」と「BYTE」...
-
パイプライン処理の処理能力に...
-
携帯電話の略語であるMBって英...
-
VBAでのコントロール操作
-
組み込みCプログラムで実数型
-
改行削除の便利な方法について
-
IBM漢字とUTF-8の変換について
-
MIPS と クロック周波数の換算方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
6ビット(符号含む)の二進数
-
EXCEL16進⇒浮動小数変換したい
-
エクセルVBAで xlOn xlOff の切替
-
2ビット、3ビット、4ビットのグ...
-
ALUのオーバーフローフラグの生...
-
エクセルでビット1をカウント J...
-
9ビットの2進数を符号付整数…
-
データ量の単位について教えて...
-
16ビットの符号付固定小数点...
-
2進数の問題
-
16ビット浮動小数点数の表現...
-
SSDのデータがビット落ちにより...
-
2の補数形式において、アンダー...
-
(<<1) & 0xeeeeなどが分かりません
-
情報科学
-
基本情報処理技術者試験問題が...
-
パリティーチェック
-
基本情報技術者試験のビットに...
-
情報科学について!進数変換の...
-
2進数の補数表示について
おすすめ情報