エクセルについて質問させてください。
下記の表のようなことがしたいです。シート1にあるデータから、大きな影響をもつ数字(数値の絶対値が大きい上位2位まで)とその項目の名前をシート2に表示したいです。
具体例(利益について)
シート1 のデータ。
製品A 30万円
製品B −150万円
製品C 120万円
製品D −10万円
シート2に抽出したいこと。
利益に大きな理由を与えている上位2位の製品名とその値を文書として一つのセルに自動入力したいです。
例
「製品B−150万円、製品C120万円」と自動で記載したい。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
添付図参照
Sheet2!A1: ="製品"&INDEX(Sheet1!A:A,MATCH(MIN(Sheet1!B:B),Sheet1!B:B,0))&MIN(Sheet1!B:B)&"万円、製品"&INDEX(Sheet1!A:A,MATCH(MAX(Sheet1!B:B),Sheet1!B:B,0))&MAX(Sheet1!B:B)&"万円"
ご回答ありがとうございます。入力してみたところ、最大値と最小値が抜粋される形になり、影響値の上位2位の抜粋とはならないようです。ただしご回答いただいた内容はとても参考になりました。
本当にありがとうございました、
No.2
- 回答日時:
こんにちは
レイアウトがはっきりしないので、添付図の様に仮定しました。
A列に製品名、B列に利益データです。
ご質問文の雰囲気から、B列はどうやら文字列で入力されているみたいなので、負の符号が通常の「-」記号でなく「−」文字の可能性もあり、かつ、単位の「万円」も書式表示ではなく文字として入力されている可能性があるものと仮定しました。
このため、およそ表計算には向かない計算条件となってしまっているので、作成した式もこれに応じて無駄に長いものになっています。
下の式はひとまずA1:B10を計算対象としています。
結果を求めたいセル(添付図ではD1セル)に、
=INDEX(A:A,MOD(AGGREGATE(14,6,ABS(SUBSTITUTE(SUBSTITUTE(B$1:B$10,"万円",""),"−","")*1)+(ROW(B$1:B$10)/1000),1)*1000,1000))&INDEX(B:B,MOD(AGGREGATE(14,6,ABS(SUBSTITUTE(SUBSTITUTE(B$1:B$10,"万円",""),"−","")*1)+(ROW(B$1:B$10)/1000),1)*1000,1000))&"、"&INDEX(A:A,MOD(AGGREGATE(14,6,ABS(SUBSTITUTE(SUBSTITUTE(B$1:B$10,"万円",""),"−","")*1)+(ROW(B$1:B$10)/1000),2)*1000,1000))&INDEX(B:B,MOD(AGGREGATE(14,6,ABS(SUBSTITUTE(SUBSTITUTE(B$1:B$10,"万円",""),"−","")*1)+(ROW(B$1:B$10)/1000),2)*1000,1000))
という式を入力してあります。
※ 金額表示を単純な数値だけにできれば(単位等は書式で対応)、関数式は飛躍的に簡略化されたものにできるはずです。
ご回答いただきありがとうございました。入力したところうまくいき、大変助かりました。もしよろしければ、金額を単純に数値だけにし、D1セルの−表示のみを▲にした式をご教示頂かないでしょうか。今回の場合だと、D1セルに「製品B ▲150、製品C120」
としたいです。よろしくお願い致します。
No.3
- 回答日時:
No2です。
>金額を単純に数値だけにし、D1セルの−表示のみを▲にした~
元データはNo1様が仮定している状態と考えて良いということと解釈しました。
現在、エクセル環境がないため(スマホからなので)、テストや確認ができませんが、ひとまず、修正方法の考え方のみの回答になってしまいますが、とりあえず記しておきます。
No2の式は、以下のような構成を4つ&で繋いで文字列を作成する式になっています。
それぞれが、最大値のA列(製品名)、B列(金額)、2番目のA列、B列を参照する式になっています。
INDEX(A:A,MOD(AGGREGATE(14,6,ABS(SUBSTITUTE(SUBSTITUTE(B$1:B$10,"万円",""),"−","")*1)+(ROW(B$1:B$10)/1000),1)*1000,1000))
ご質問の条件であるなら、このうち数字でない文字を除く処理が不要になるので、SUBSTITUTE関数を省くことができます。
INDEX(A:A,MOD(AGGREGATE(14,6,ABS(B$1:B$10)+(ROW(B$1:B$10)/1000),1)*1000,1000))
これをそのまま繋げれば、「製品B -150、製品C120」のような結果が得られるはずです。
これをさらに、ご質問のように負の数値部分を「▲」表示にするには、2番目、4番目の数値部分をText関数を利用して表示形式を変換してあげれば実現可能と考えます。
表示形式には、#;▲#;0 のようなものを設定しておけば良いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- その他(ネットショッピング・通販・ECサイト) 夢グループの電熱ヒーターベスト2980円はどうですか 夢グループは例えば他の製品テレビで録画できるの 3 2023/01/10 13:54
- 物理学 数学 3 2023/01/06 00:07
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) エクセルで割り振りをする方法 7 2022/08/02 14:02
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 生産日報と月間集計 3 2022/06/21 22:32
- Excel(エクセル) Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、 3 2023/03/06 19:05
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報