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(エクセル)
-
Excelに入力しているタグ<br>にだけ、その部分にだけ改行させたい
Excel(エクセル)
-
-
4
引数に数値、文字列の混在
Visual Basic(VBA)
-
5
【マクロ】for nextステートメントがわかりません。例あり。
Excel(エクセル)
-
6
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
7
Excelの共有ファイルについて質問です。
Excel(エクセル)
-
8
Excelの関数で起きた現象の原因がわかりません。
Excel(エクセル)
-
9
エクセル詳しい方教えて下さい
Excel(エクセル)
-
10
得意先毎に商品の最新単価表を作成したく、質問です。 過去の売上履歴は、弥生会計からExcelに抽出し
Excel(エクセル)
-
11
Excelでの判別方法
Excel(エクセル)
-
12
エクセルで入力してある文を別の文に変更することはできますでしょうか。
Excel(エクセル)
-
13
VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。
Visual Basic(VBA)
-
14
Cellsのコードが打てません
Visual Basic(VBA)
-
15
同じ型【ハイフンと数字】だけ抜き出す関数について
Excel(エクセル)
-
16
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
-
17
エクセル関数またはVBAについて
Excel(エクセル)
-
18
エクセルの関数でわからないことあるのでコード付きで教えてください
Excel(エクセル)
-
19
エクセルで、複数のマスに構文を一度に入力する方法を教えてください
Excel(エクセル)
-
20
1行目のデータ(A1:G1)をコピーして、2~49999行へ貼り付ける効率的な操作方法は?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16ビットの符号付固定小数点...
-
6ビット(符号含む)の二進数
-
エクセルVBAで xlOn xlOff の切替
-
EXCEL16進⇒浮動小数変換したい
-
私は
-
もしコンピューターが2進数か...
-
文字の容量(サイズ)についての...
-
【有効数字について】 授業で、...
-
マトリックスサイズが512×512で...
-
KBのMB違いって
-
携帯電話の略語であるMBって英...
-
EXCELでの16進数取り出し、上...
-
16bitはダイナミックレンジが97...
-
アルファベット30文字は何バイ...
-
CSV データのバイト数を調べる...
-
VBAでのコントロール操作
-
1Mbpsって毎秒何キロバイト?
-
Pingについてご教授ください。
-
プログラム言語FortranとCの違...
-
32bit = 4GB(バイト)?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL16進⇒浮動小数変換したい
-
6ビット(符号含む)の二進数
-
エクセルVBAで xlOn xlOff の切替
-
2ビット、3ビット、4ビットのグ...
-
9ビットの2進数を符号付整数…
-
エクセルでビット1をカウント J...
-
(<<1) & 0xeeeeなどが分かりません
-
浮動小数点の表現(基本情報)
-
2の補数形式において、アンダー...
-
パリティーチェック
-
情報科学について!進数変換の...
-
基本情報処理技術者試験問題が...
-
基本情報技術者試験のビットに...
-
16ビット浮動小数点数の表現...
-
排他的論理和
-
16ビットの符号付固定小数点...
-
2進数の補数表示について
-
基本情報技術者試験のビットに...
-
データ量の単位について教えて...
-
浮動小数点の問題です。
おすすめ情報