キーワードに基づいて行に値を割り当てる

キーワードに基づいて行に値を割り当てる

私の銀行取引明細書には、どこでお金を使ったか、どこからお金を得たかを示す説明欄があります。この情報に基づいて、これらの費用を分類できるように手動で列を入力します。クライアント A のすべての取引、Amazon のすべての取引です。これは、説明を読んでキーワードを見つけることに基づいています。このプロセスを自動化できますか。非常に長い数式 (if(search("amazon",a1),"Amazon")、elseif(search ........) を試しました。複雑すぎてエラーが発生しやすくなります。約 20 ~ 30 のカテゴリがあります。

答え1

あなたの数式のアプローチは、近いところまで到達できますが、おっしゃるとおり、長い数式はトラブルシューティングが難しく、SEARCH では、ターゲットが見つからない場合にエラー値を処理する必要があります。問題を個々のキーワードに分解すると、簡単に解決できます。ここにバージョンを示します。私が行ったことを順を追って説明します。

スクリーンショット

列 A には説明が含まれています。列 B はトランザクションで見つかったキーワードです。列 C で始まる列はキーワード ターゲット用で、各列の列見出しとして 1 つのターゲットがあります。1 回限りのタスクとして、キーワードを入力します。キーワードはいつでも追加でき、隣接する列から新しい列に数式をコピーするだけです。

C2 の数式は横方向および縦方向にコピーできます。これらのキーワード列の各セルは、その行の説明でその列のキーワードを検索します。C2 で使用した数式は次のとおりです。

=IF(ISERROR(SEARCH(C$1,$A2)),"",C$1)

これにより、ターゲット キーワードが検索され、見つかった場合は表示されます。見つからない場合は空白が表示されます。ターゲット ワードが必ずしもキーワードではない場合、数式の最後のパラメーターをキーワードに置き換えることができます。ただし、数式を変更せずに任意のセルにコピーすることはできなくなります。

B2 の式は次のとおりです。

=C2 & D2 & E2 &...

(読みやすくするためにスペースが追加されています。) キーワードをさらに追加する可能性がある場合は、最初に数式にいくつかの列を追加して連結することができます。これは、行のキーワード検索の結果を連結するだけです。一致するキーワードは 1 つだけであるため、それを他のキーワードの空白とつなげると、トランザクションの一致するキーワードが得られます。一致するキーワードがない場合、セルは空白になります。後でキーワードをさらに追加する場合は、B2 に新しい列参照が含まれていることを確認してから、それを列にコピーします。

美学

キーワード ヘルパー列を表示したくない場合は、非表示にしたり、見えない領域に貼り付けたりすることができます。

ヘルパー列に頼らずに、すべてを 1 つの数式で実行したい場合は、このアプローチから始めて数式を構築してください。これにより、1 つの短い数式を作成し、それを他の列や行にコピーして、すべてが機能していることを確認できます。その時点で、置換によって B2 を包括的な数式に変換できます。

B2 で、C2 参照を C2 の数式に置き換え (等号を除く C2 の数式をコピーして貼り付け、C2 セル参照を置き換えます)、各セル参照に対して繰り返します。これで、キーワードのリストだけを参照する数式ができました (必要に応じて、垂直リストに移動できます)。

キーワード リストさえも必要ない場合は、キーワード セル参照を実際のキーワードに置き換えます。これで、完全に自己完結的な数式が完成します。B2 が気に入ったら、列の下部にコピーします。

関連情報