実現したいこと
Excelで任意の項目に分類をするための方法
試したこと
A列のデータを任意の項目に分類をするためにD列~F列のように表を作成し、以下の関数でB列に分類結果を表示しています。
INDEX($D$1:$F$1,1,SUMPRODUCT(($D$2:$F$7=$A2)*COLUMN($D$1:$F$1)))
上記の式だと、分類表が別シートにある場合、参照先の列と関数を入力している列が同じ場合、正しい結果が返ってこないため、別の方法を探しているのですが、良い方法(関数以外のパワークエリ等でも良いです)はありますか?
ちなみに、データは、カタカタ、ひらがな、漢字、スペースの有無等から単純な変換では分類が難しいと思ったためこのような方法で分類しています。
有識者の方お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

回答2件
1
[2023/03/15 22:29時点の投稿内容に対する回答]
質問に記載の数式は、画像の場合正しい答えを返さないので、「上記の式だと、分類表が別シートにある場合、参照先の列と関数を入力している列が同じ場合、正しい結果が返ってこない」という文章がそもそも成り立ちません。
シートの内容が画像である場合に想定する答を返す式の一例は、下記です。
=INDEX($1:$1,1,SUMPRODUCT(($D$2:$F$7=$A2)*COLUMN($D$1:$F$1)))
そして、分類表(画像でいうところのD1:F7の範囲)を別シート、たとえばSheet2に移動した場合も、
シート名を付けて修正することで、正しく計算されます。
例:分類表を、Sheet1のD1:F7の範囲から、Sheet2のA1:C7の範囲に移動した場合の式
=INDEX(Sheet2!$1:$1,1,SUMPRODUCT((Sheet2!$A$2:$C$7=$A2)*COLUMN(Sheet2!$A$1:$C$1)))
追記
「、梨だけ答えが0なのですが、なぜでしょうか。」
列中に重複するデータがある場合を考慮して修正しました。
下記の数式で試してみて下さい。
=INDEX(Sheet2!$1:$1,1,SUMPRODUCT(UNIQUE(Sheet2!$A$2:$C$7=$A2)*COLUMN(Sheet2!$A$1:$C$1)))
(確認環境:Excel2019)
投稿2023/03/15 13:50
編集2023/03/21 00:39
退会済みユーザー
総合スコア0
0
私は、
数学的な アプローチで、
試してみました。
_
概要、
概要としては、
行列積を 用いて、
真理値を 数値化した、
ものを、
列毎に 集計したのです。
_
配列数式、
excel 配列数式、
1=OFFSET($C$1,0,SUMPRODUCT(SIGN(MMULT({1,1,1,1,1,1},(($A2 =$D$2:$F$7)+0)))*{1,2,3}),1,1)
※注:エンターのみで 確定してください。
解説、
先ず、
〉(($A2 =$D$2:$F$7)+0) …以降 α
此方で 真理値表を、
作成し、
併せて 数値化を、
図りました、
何故、どんな数値化が、
図られるかは、
省略可能ですよね?
もし お求めなら、
お問い合わせください。
_
次に、
〉MMULT({1,1,1,1,1,1},α) …以降 β
行列積を 用いて、
列毎に 此方で、
集計しました。
尚、
こうした 定数配列を、
自動生成させる事も 容易なのですが、
今回は 端折りました。
_
さて、
此の侭では データ集計結果に、
重複が 発生しますので、
〉sign(β) …以降 γ
此の様に しました。
_
此迄で、
1行3列の 数値配列が、
内部に 確保され、
其の内の 1つだけが、
1、
其の他は 0、
そうした 状態が、
確保されました。
_
其処で、
何処に 1が、
立っているかを 識別するために、
{1,2,3}を かけ、
集計させようと したのが、
此方です。
〉SUMPRODUCT(γ*{1,2,3}) …以降 δ
_
最後には、
基準から 数えて、
何列目に 属すかが、
此処迄で 解っかりましたので、
セルC1を 基準として、
offset構文で 各列ラベルを、
参照しました。
_
其れが 此方です。
〉OFFSET($C$1,0,δ,1,1)
_
補足、
_
尚、
ブアイルは 表示形式で、
提供ています。
_
しかし、
ローカルに ダウンロードできる、
ものと 思います。
_
ダウンロード 頂き、
別名で 保存された、
後は、
様々な 観覧も、
編集や、テストさえも、
適う ものと、
思います。
_
Copyright、
_
因みに、
此等は 正に、
私が 作成した、
もので、
私の 公開以前、
既に、
知られた ものでも、
公開されている ものでも、
当たり前ながら ありません。
_
元より、
私の オリジナルで、
故に 相応に、
誰でも 勘案し得る、
簡単な ものではない、
複雑で 困難な、
ものな 事より、
私に 著作権が、
帰属して います。
_
当該に付いては、
使用に 際しては、
私の 指定した、
使用上の ルールに、
従う限り、
金品等 一切を、
請求する ものでは、
ありませんが。
_
真逆に、
従わなかった 場合は、
賠償を 請求します。
_
では、
使用の ルールですが、
此の、
やり方、考え方を、
何時、何処で、
どのIDの ものの、
提示から 知ったか、
使用時には、
誰の 目にも、
灼かに 伺えるよう、
詠う 事と、
其れを 見たものが、
此の 義務を、
引き継ぐように 指定する、
事を、
義務付けます。
_
勿論、
使用に 際しては、
此を 怠らない限り、
使用は フリーです。
_
逆に、
反した 場合は、
先筆通り、
賠償を 頂きます、
其れだけの 事です。
_
此、
本来は 履行する、
方が、
常識な 事なので、
態々 此の様に、
書かないと いけない、
そんな 現状が、
狂気的な 異常状態なのです。
_
然りとて、
書かないと 特に日本では、
誰も 履行しないので、
お目汚しには なるかとも、
思いましたが、
書き込まして 頂きました。
_
又、
こうでも しておかないと、
間違えた 使用法により、
困惑されているような 方々の、
事態を、
目の辺りに した時、
「其れ 私が、
作り出した ものなので、
私なら 判りますよ。」
と 投げかけた際に、
狂人扱いを 真面に、
あからさまに されるのですよ、
此は 困るので、
防ぎたいのです。
_
本来、
賠償等 求めては、
居ませんが、
此の 国の、
法律体系では、
〉規制を 個人が、
貼る場合は、
賠償の 形しか、
取れない、
と 思っているもので、
こう しています。
_
さて、
此方 ご理解を、
頂けましたなら。
_
又、
お役に 立てて、
居たならば
幸いです。
_
Copyright Nouble
投稿2023/03/15 21:13
編集2023/03/15 21:25総合スコア7
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
回答へのコメント

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/03/18 13:57
退会済みユーザー
2023/03/19 00:16 編集
2023/03/20 22:38
退会済みユーザー
2023/03/21 00:36