Office Suite « MISCELLANEUOS DATA STORAGE

‘Office Suite’ カテゴリーのアーカイブ

[Excel] 整数桁の丸め(切り上げ)

2011 年 8 月 5 日 金曜日

Excel で見積書を作成する際に単価などを整数桁(百円単位)などで切り上げしたいケースは良くあります。

Excel では、ROUNDUP 関数の2番目の引数をマイナス数値で指定すると、整数桁での切り上げが可能です。

このとき、単価が数十万~数円単位まで、広範囲に渡っていると、頭から3桁程度を有効にして切り上げできるように関数を組み合わせると、あとはコピー&ペーストで一気に処理できます。

単価(数値)の桁数は10の対数の整数部分で得られます。 また、最小の切り上げ単位を10円で設定すると、セルの関数は下のようになります。

=ROUNDUP([セル参照],MIN(2-INT(LOG10([セル参照])),-1))

OpenOffice.org Calc でも全く同じ関数で問題なく動作します。

2011/08/95 選択範囲の数式を有効桁数付の切上げ数式に変換するマクロを作成しました。


' 有効桁数3桁で切上げ
Sub Kiriage3Keta()
    Dim c As Range
    With Selection
        For Each c In .Cells
            If c.Formula <> "" Then
                f = c.Formula
                key = Right(f, Len(f) - 1)
                new_formula = "=ROUNDUP(" & key & ",MIN(2-INT(LOG10(" & key & ")),-1))"
                c.Formula = new_formula
            End If
        Next
    End With
End Sub
' 有効桁数2桁で切上げ
Sub Kiriage2Keta()
    Dim c As Range
    Dim key, new_format, f As String

    With Selection
        For Each c In .Cells
            If c.Formula <> "" Then
                f = c.Formula
                key = Right(f, Len(f) - 1)
                new_formula = "=ROUNDUP(" & key & ",MIN(1-INT(LOG10(" & key & ")),-1))"
                c.Formula = new_formula
            End If
        Next
    End With
End Sub

[Excel] 全角←→半角の変換

2011 年 8 月 5 日 金曜日


勤務先の会社では、見積りの細目・仕様欄はカタカナも含めて半角で入力するようにいわれていますが、協力会社から貰う見積書は基本全角文字で入力されているケースが多くシンプルにコピー&ペーストといかないのが現状です。

単純ですが、選択範囲のセルを半角変換するマクロを作成してみました。


' 全角→半角 変換
Sub ToHankaku()
    Dim c As Range
    With Selection
        For Each c In .Cells
            c.Value = StrConv(c.Text, vbNarrow)
        Next
    End With
End Sub

' 半角→全角 変換
Sub ToZenkaku()
    Dim c As Range
    With Selection
        For Each c In .Cells
            c.Value = StrConv(c.Text, vbWide)
        Next
    End With
End Sub