問題タブ [named-ranges]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
excel - 名前付き範囲を選択するためのユーザーフォームリストボックス
ワークシートに、他のタブ (月ごとに 1 つ) からの要約データを保持する一連の名前付き範囲があります。範囲には名前が付けられJAN / FEB / MAR
ています。私のファイルには、ある月を別の月と比較するさまざまなレポートが含まれており、これを動的にするには、ユーザーが任意の 2 か月を比較できるようにする必要があります。
レポートは、必要な月の要約データの貼り付けられた(値)バージョンを含む別のシートから実行されるため、基本的に、ユーザーが月を選択できるようにするユーザーフォームを備えたマクロが必要であり、その範囲を見つけてコピーしますレポートを作成するシートに貼り付けます。シート名に基づいて同様のことを行うことができましたが(以下のコードを参照)、名前付き範囲に対して何も機能しません。
喜んで助けていただければ幸いです。私はこれについて独学のアマチュアです。
vba - VBA を使用した Name Manager - マクロ呼び出しと関数呼び出しで異なる応答が返される
計算に使用する XLA があり、これらの計算で使用する変数を Name Manager で作成したいと考えています。ranged という名前のものが既に存在するかどうかを確認し、存在しない場合はユーザーに値を割り当てさせたいと思います。Name Manager を設定するために使用している Sub() があります - 以下の例 - :
「マクロ」メニューに移動して SetNames ルーチンを実行すると、動作し、Name Manager で test = 0 が設定されます。
ただし、関数を介してこれを実行し、変数が存在する場合は関数が名前マネージャーの変数を使用できるようにし、変数が存在しない場合は、それらの値を名前マネージャーの初期値に設定します。サブルーチン。
次のコードを実行しようとすると、Name Manager で値が設定されません。
すべての名前はグローバル変数として宣言されています。
その目的は、ユーザーにアドインをインストールさせ、アドインを使用した最初の関数呼び出しで Name Manager を設定して、名前を初期化するか、ユーザーが初期値を設定できるようにすることです。ユーザーが [マクロ] リボン オプションを使用してサブルーチンを実行し、Name Manager 名を初期化することは望ましくありません。
これに関する助けをいただければ幸いです。
excel - AVERAGEIFS は機能しませんが、AVERAGE(IF( は機能します)
レース カー ドライバーのパフォーマンスを計算するために使用する大規模なスプレッドシートがあります。かなり長い間安定しています。今日、それを開いたところ、テーブルの 1 つが正しく計算されていないことがわかりました。シートの再計算を試み(手動計算に設定されています)、ツリーの再構築(ctl + alt + shift + f9)を試みましたが、役に立ちませんでした。同じ名前の範囲を参照する他の数式は、平均の場合を使用する他の数式と同様に正しく機能します。
変数
list_of_names = CSV ファイルからインポートされた単一のテキスト文字列内の姓と名のリスト
local_name = トラックの特定のセクターにおけるドライバーのパフォーマンスの平均を計算するための名前 (list_of_names に含まれることが 100% 保証されています)
セクターパーセント = 特定のセクターを通過するドライバーの移動のうち、事前に定義された範囲に収まる割合
セクター数 = ドライバーがセクターを通過した回数
元の数式が #Value エラーを返します。これは元の数式です (実際の数式には IFERROR ステートメントが含まれていますが、わかりやすくするためにここでは削除しました。#VALUE エラーはどちらの方法でも発生します)。
{=AVERAGEIFS(セクターパーセント,リストオブネーム,ローカル名,セクターパーセント,">0",セクターカウント,">"&最小セクター数)}
いくつかの実験の後、次の式が正しい答えを正常に報告することがわかりました。
{=AVERAGE(IF( list_of_names = local_name ,IF(セクター パーセント>0,IF(セクター カウント> min_number_sectors ,セクター パーセント, 0))))}
AVERAGEIFS数式からlist_of_names変数とlocal_name変数を取り除くと、正しく動作します (基準を満たすデータが与えられた場合)。これにより、名前のリストとローカル名が一致するデータ型ではないと信じるようになりました。ただし、両方が一般またはテキストに設定されている場合、#VALUE エラーは引き続き発生します。現在、TYPE(list_of_names) または TYPE(local_name) はどちらも 2 を返します。{TYPE(list_of_names)} は 64 を返します。
シートは、ブック内の他の場所および同じシートの他の領域で、list_of_names から local_name への関数を正しく実行できます。
私が試してみました:
-すべての名前付き範囲を、数式で名前によって参照される実際のセルに置き換える
- list_of_namesで異なるlocal_namesを参照する
-INDEX( list_of_names , ROW(A1)) をドラッグすると、名前のリストが正しくレポートされます。
- 他の基準を使用した、基準のさまざまな順序。
- 現在思い出すことのできないその他の瞬間的な変化の数
基本的に、list_of_namesとlocal_nameの比較は、AVERAGE(IF( が失敗しない) AVERAGEIFS を使用するたびに、シートのこの領域で失敗します。
私にとって、式はどちらの方法でも正しいのですが、シートのこの部分で突然失敗するのは奇妙です。
これは私の最初の投稿であり、利用可能なヘルプをいただければ幸いです。うまくいけば、私は答えにつながるのに十分な情報を提供しました. そうでない場合はお知らせください。ギャップを埋めます。
excel - 複数の名前付き範囲でのセル一致の Excel 検索
タブに一連の名前付き範囲が保存されており、一番上の行が各範囲の名前 (果物、リンゴ、ナシ、アプリコットなど) として機能します。各リストの間に空の列があります。
別のタブに、「説明」列があり、これらの項目の一部 (アプリコット、アプリコット、リンゴ、ナシ) に対応するデータ値があります。隣接する列「Category」は説明セルを読み取り、内容を適切な範囲に一致させます。現在、その式は読み取ります
数式は仕事を成し遂げますが、見苦しく、簡単には拡張できません。使用できる、よりクリーンでエレガントな式はありますか?
現在エクセル2013を使用しています
javascript - Google スプレッドシート - 範囲保護の削除時のエラー
これが私のスクリプトですが、奇妙な理由で動作しません??!!! 私を狂わせる。