数式が計算されない Excel テーブル

数式が計算されない Excel テーブル

Excel スプレッドシートをテーブルに変換しました。

数式が入力された列がありますが、データを入力しても数式が計算されません。

ここに画像の説明を入力してください

ご覧のとおり、列 [AgeGroup] は 2 行目の列 [Age] に対して計算されません。

答え1

計算オプションをオンにする必要があります -> 自動

ここに画像の説明を入力してください

答え2

興味深いことに、バリアントには別の可能性がありますが、ここでの解決策は確かに素晴らしく迅速なものでした。

示された画像では、次の可能性が考えられますが、左側の表示されていない素材 (列 A と B) で同じ画像が作成される可能性があるため、問題は次の原因ではありません。

開始行以外にも複数の行があるテーブルの場合、列に数式があり、その行の空白セルなどの情報が必要になることがあります。この場合のように、空白セルが存在する数式から空白を生成する必要がある場合は、確かにそのようになります。

さらに、最初の行の下にあるすべてのデータを削除すると、数式も削除される可能性があります。また、テーブルのサイズを変更せずに、空になった行にデータを入力し始めると、出力が何も表示されず、数式も表示されない可能性があります。

次に、行を追加すると、その行の列に数式が表示されることに気付くかもしれません。ここで、たとえば行 2 を追加し、表の末尾に移動して列 A または B のデータを入力して新しい行を追加すると、嬉しい結果が表示されます。つまり、数式はそのセルに存在しますが、この場合は適切に空白が表示されます。

それは偶然の一致のカードですが、選択したセルの上にある最後の明らかに成功した数式の下に (最大) 4 行しかない場合は、可能です。

当然、解決策としては、データが消去された行を削除してテーブルのサイズを変更するか、一番下の右端のセルの隅にあるコントロールを使用して、テーブルに存在しないセルに残っているものをすべてクリアして続行することです。

テスト中に、奇妙なことに遭遇しました。実際には 2 つありますが、密接に関連しています。テーブルの範囲外で、一般書式のセルに数値を入力すると、数値として表示され、セル内で右揃えになり、すべての関数で数値として扱われるなどします。その後、テキスト形式に再フォーマットすると、多くの場合、その表示モードが維持され、数式では数値と​​して扱われますが、そうでない場合もあります。

また、数値の代わりに数式が存在していた場合、その結果は通常、再フォーマット後に作成された数式によっても引き続き使用されます(!)。F2 キーと Enter キーを押すなどして、セルを目的の状態に「強制」することができ、その後、すべての点で再フォーマットが「適用」されます。

しかし、テーブルでは、数式のセルをテキストに再フォーマットし、いくつかの基本的な強制変換テクニックを使用すると、数値の結果がテキストのように左揃えで表示されるなどしても、数式は機能し続けます。数式は機能し続け、数式が使用する新しく入力された値の結果を変更します。

それがどのような用途に使えるのか、あるいは将来のバージョンで修正されるバグなのかはわかりませんが...興味深いですね。

答え3

セルの値を間違って参照しているようです。記述方法によっては、[Age]フィールド全体を参照することになります。[@Age]そのフィールドの値と、数式と同じ行の値を参照する必要があります。参照:Excel テーブルで構造化参照を使用する - Microsoft サポート

=IF(ISBLANK([@Age]),"",IF([@Age]<18 ... et cetera

余談ですが、IFS()複数のステートメントに似ていますIF()が、ネストがまったくない関数を使用すると、より効率的に処理できます。複数のcondition,resultペアを受け取り、最初の真の条件に対応する結果を返します。数値チェックの順序を逆にすることで、さらに効率を上げることができますが、先頭に空白のチェックを入れておく必要があります。以下の例では、NOT(ISNUMBER())誰かが数字ではなくテキストを入力した場合をキャッチするために、これをチェックに変換しました。

=IFS(NOT(ISNUMBER([@Age])),"",[@Age]>=85,"85+",[@Age]>=65,"65 to 84",[@Age]>=40,"40 to 64",[@Age]>=18,"18 to 39",[@Age]<18,"<18")

ここに画像の説明を入力してください

関連情報