要件:

-vbaの基本的な知識-テーブル/名前付き範囲の使用ワークブックのオンとオフを操作する場合、ワークブックに再度アクセスするまでの数か月間、データ構造と数式の設定を覚えるのが難しい場合があります。

これが私がこの問題を回避する方法であり、数分以内に実行された計算の概要を確実に把握できるようにします。

この例では、ボーナスの計算式を簡略化する方法を示します。

image

テーブルまたはUDF式のない式の外観:

IF(SUM(C2 / D2)⇐ 1; 0; IF(SUM(C2 / D2)> = 3; SUM((C2-D2)0,03); IF(AND(SUM(C2 / D2)> 1; SUM(C2 / D2)<3)= TRUE; SUM((C2-D2)0,02); 1)))

この式のロジックは、一見しただけでは抽出が難しい場合があります。

テーブルがあり、UDF数式がない数式の外観:

IF(SUM([@ [年俸]] / [@ Salary])⇐ 1; 0; IF(SUM([@ [年俸]] / [@ Salary])> = 3; SUM(([@ [年間売上高]]-[@ Salary])0,03); IF(AND(SUM([@ [年間売上高]] / [@ Salary])> 1; SUM([@ [年間売上高]] / [@給与])<3)= TRUE; SUM(([@ [年間売上高]]-[@ Salary])0,02); 1)))

テーブルを使用すると、モジュールに挿入されたテーブルとUDFユーザー定義関数を使用した数式の外観の計算で使用されるセルが通知されるため、少し読みやすくなります。

‘短くて説明的なタイトルよりも長くて説明的な関数タイトルを使用します関数calculate_salary_to_sale_ratio_and_return_bonus(yearlySales As Double、salary As Double)As Double Dim salary_to_sale_ratio As Double Dim Bonus_factor As Double Dim return_bonus As Double salary_to_sale_ratio = year To 3 Bonus_factor = 0.02 Case Is> 3 Bonus_factor = 0.03 Case Else Bonus_factor = 0#End Select return_bonus =(yearlySales-salary)* Bonus_factorcalculate_salary_to_sale_ratio_and_return_bonus = return_bonus End Function関数の使用式:

calculate_salary_to_sale_ratio_and_return_bonus([@ [年間売上高]]; [@ Salary])

これにより、一目で何が起こっているのかが正確にわかり、コードを深く掘り下げて詳細を読むことができます。添付されているのは、3つのシナリオすべてを示すファイルです