問題タブ [array-formulas]

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.

0 投票する
7 に答える
73690 参照

excel - 式に値を数値ではなくテキストとして処理させる

列からデータを読み取るExcelの数式があります。その列のデータは、「10-11」などの日付のような形式である場合があります。列がテキスト形式であり、すべての値が日付として再解釈されるのではなく、プレーンテキストとして正しく表示されることを確認したにもかかわらず、数式は基本的に参照内の日付として再解釈されます。

数式のセル参照にセルをテキストとして解釈させる方法が必要です。TEXT(A1、 "@")を試しましたが、機能しません。日付の数値が表示されます。

0 投票する
3 に答える
662 参照

excel - MS Excel: Max() をより効率的にするにはどうすればよいですか?

次のような一連のデータがあります。

{=MAX(IF(A$2:A$100=A2,B$2:B$100))}列の計算に使用していMaxByIDます。ただし、データセットには 10 万行を超える行があり、ほとんどが一意の ID です。これは、C:C の各セルが A:A のすべてのセルを反復処理する必要があるため、これを行うには非常に非効率的な方法のようです。

ID フィールドは数値であり、並べ替えることができます。MaxByID をよりインテリジェントに見つける方法はありますか?

0 投票する
2 に答える
414 参照

excel - スプレッドシートにデータを入力する数式

特定の条件でいくつかのセルにデータを入力したい。問題は、数式だけでこれを行う方法がわからないことです (マクロや並べ替えは使用できません)。

とにかく、これが**シート**を含む私のワークブックです:

私がやろうとしてきたことは次のとおりです。

  • 選択した週に基づいて Sheet2 タスクを設定します。
  • 週 #2 (シート 2) を選択すると、その週番号を持つシート 1 のタスクが (同じシートの) タスク リストに入力されます。

たとえば、現在、(仮説的に) すでに週 == 2 のタスクをロードしています。

ご不明な点がございましたら、お知らせください。私の問題を明確にしたことを願っています。

事前にどうもありがとうございました!

0 投票する
1 に答える
218 参照

excel - FormulaArray への 2 次元バリアント データのプッシュ

私はもともと、2 次元バリアント配列を返す VBA 関数を持っていました。

Formula 配列構文を使用して、別の vba 関数から呼び出しました。

Excel から、十分な大きさの範囲を選択してから、次のようにします。

=マイラッパー()

CTRL + SHIFT + ENTER が続くと、データはその範囲内のすべての個々のセルに適切に分割されます。

ただし、それを自動化するために、MyWrapper を次のように変更すると:

上記は機能しません。Excel に何も表示されません。

私は何を間違っていますか?

アップデート:

テストのために、 MyWrapper() をわずかに変更すると、次のようになります。

variant_temp は、SplitIntoCells から戻った後に 2 次元配列を持つことが予想されますが、その後の Selection.FormulaArray には、代入後もまだ何も含まれていません。私は盲目的に明らかな何かを見逃していると確信しています。

0 投票する
2 に答える
826 参照

excel - Excel の配列数式へのプログラム インターフェイスはありますか?

たとえば、私が持っているとします

セルで。その配列にいくつの要素があり、それらの要素が何であるかを調べる方法はありますか?

@chris neilsenのアイデアを実装すると、次のようなVBA関数ができました

ただし、そこからのデータは希望に満ちているようには見えません。

Rows.Count と Columns.Count は、ワークシートで使用される行と列をカウントしている場合に意味があります。しかし、配列数式のデータの表示として、いいえ。

0 投票する
2 に答える
4338 参照

date - 月の最初の日としての現在の日付

Googleスプレッドシートで、特定の日付の月の最初の日を提供する配列数式を探しています。たとえば、A1が1/17/12 20:30B1の場合、読み取り1/1/12などが行われます。この例の列Bで日付で並べ替えられるように、数式は日付形式を保持する必要があります。

0 投票する
5 に答える
8779 参照

excel - Excel VBA Calculate メソッドは配列数式を更新しません。#N/A として表示

Excel に一連の配列数式があり、互いにキーオフしています。これらは、独自の Excel アドインによって生成されるデータの範囲に合わせて自動的にサイズ変更されます。

ただし、私のコードが配列数式の一部を正しい新しいサイズに書き換えるたびに、シート上の別の無関係なセルを編集するか、シートを保存するか、F9 キーを押すまで、セルはすべて #N/A として表示されます。

Application.Calculate、ActiveSheet.Calculate などのコードを使用しても効果はありません。

ただし、SendKeys "{F9}" を使用すると可能です。

例として、これらはシート上の 2 つの数式です。

最初の数式は、プログラムでセル範囲に書き込んだ後、正常に機能します。テキストが含まれているセルの行番号を教えてくれるだけです。

2 番目の数式は、プログラムでセル範囲に書き込んだ後は機能しません。数値のリストで以前に見られた最大の行番号が得られます (これは最初の式の出力です)。F9 キーを押すと、2 番目の数式が正しく更新されます。VBA で Application.Calculate を実行しても、何も起こりません。ワークシート レベルで利用できる他のさまざまな再計算方法も試しましたが、うまくいきませんでした。

誰もこのようなことに遭遇したことがありますか?

編集: サイズ変更コードは基本的に次のようなものに要約されます (より一般化された呼び出しを可能にするサポート コードをすべて取り除きます):

まず、私は:

じゃあ後で:

その後、次のようになります。

簡単に言えば、数式のコピーを作成し、範囲をクリアしてから書き直します。

0 投票する
1 に答える
9172 参照

google-sheets - Google スプレッドシートのピボット テーブルのカスタム平均関数

個人のお金の分析に使い始めたスプレッドシートがあります。私のメイン シートは「トランザクション」と呼ばれ、カテゴリ、説明、日付、金額のヘッダーがあります (基本的にはチェック レジスタです)。そのシートから、カテゴリ別の金額の合計、最小、最大を含むピボット レポートを作成しました。そのピボット レポートでカスタム平均関数を作成したいのですが、その方法がわかりません。私が見たいのは、ポジティブなトランザクション間のネガティブなトランザクションの平均量です。私の正の取引は給料であり、負の取引は私が行った支出です。

私がここでやろうとしていることの例が役立つかもしれません...

カテゴリ「食品」について、次のトランザクションがあるとします (この順序で)... -20 -25 -30 100 -30 -35 -40

平均を次のように計算したいと思います... ( ( (-20 + -25 + -30) / 3 ) + ( (-30 + -35 + -40) / 3 ) ) / 2

これを行うためにピボットレポートを強化する方法について、誰かが少しでも知っていますか?

0 投票する
2 に答える
3909 参照

google-sheets - 複数の TIME() を合計する

私はこのスコアの表を持っています:

スコアを実際の時間に変換するには、次を使用します。

新しいセルを作成せずに、これらすべての合計を一度に合計する方法はありますか?

(注: 元のセルから L と W を削除することはできません)

0 投票する
0 に答える
18241 参照

excel - 参照を使用した列から行へのデータの転置

A1 から Z1 までのデータが連続しており、別のスプレッドシートでこのデータにリンクしたいと考えています。ただし、データがA1からA26になるように転置したいと思います。最初のシートのデータを変更すると、2 番目のシートも更新されるように、何らかの関数でリンクされていることが重要です。

列 A のセルを下に移動すると、行 1 の右側の次のセルからデータを取得することがわかっているという式を考えています。つまり、A2=B1; A3=C1; A4=D1 ...

何か案は?