excel

Excelで配列数式

Mohmongar
Excelで条件に合致した配列のMaxとかMinとかを計算する。合計だとsumifとかあるが、それの汎用版みたいなやつ。こんなんできるの今日知った。超便利。 たとえば、 # A B 1 Apple 10 2 Kiwi 40 3 Orange 100 : : : 100 Apple 50 という表で、 {=max(if($A$1:$A:$100="Apple",$B$1:$B$100))} という式を使うと、$A$1:$A$100範囲で"Apple"にマッチする行と対応する$B$1:$B$100の配列内からMaxを求めることができる。配列を引数にする関数ならminでもstdevでもできる。入力時に[CTRL]+[SHIFT]+[ENTER]しないと有効にならない。表示では勝手に{ }が付くが、入力時に{ }はいらない。

10進数を2進数で・・・Excelの話。

Mohmongar
必要に迫られてExcel VBAで2進数表示をしたかったのですが、VBAのDEC2BINでは桁数が10桁までしか対応しておらず、そのうえなぜか値は-512~511と桁数とはなんら関連のない範囲だけ。諦めて自作しました。 Function Dec2BinEx(x As Double, column As Integer) As String Dim ret As String Dim hosu As Boolean Dim y As Integer Dim kuriage As Integer If column < 1 Then Dec2BinEx = "" Exit Function End If ret = "" If x < 0 Then x = (-x) hosu = True kuriage = 1 Else hosu = False kuriage = 0 End If Do If hosu = False Then ret = Format(x - Int(x / 2) * 2) & ret Else y = (1 - (x - Int(x / 2) * 2)) + kuriage kuriage = y / 2 ret = Format(y Mod 2) & ret End If x = Int(x / 2) column = column - 1 Loop While x >= 0 And column > 0 While column > 0 If hosuu = False Then ret = "0" & ret Else ret = "1" & ret End If column = column - 1 Wend Dec2BinEx = ret End Function