エクセルでこのようなことができるか、わからないのですが
1万件以上あるデーターなので、全て手入力でやるには
労力がかかりますので、質問させて頂きました。
以下のような表の中から、初回購入月をI欄に、最終購入月をJ欄に抽出したいと思います。
A B C D E F G H I J
顧客NO(1月)(2月) (3月) (4月) (5月) (6月) 合計 初回 最終
10010 3000 6000 9000
10020 3000 3000
10030 3000 3000 1000 7000
計算式でできるのか、マクロを使わないと無理なのかも
教えて頂けると大変助かります。
どうぞよろしくお願い致します。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんばんは!
すでに回答は出ていますが・・・
他の方法の一例です。
↓の画像で説明させていただきます。
配列数式になりますので
数式をコピー&ペーストした後に、
F2キーを押して編集可能にするか、又は数式バー内で一度クリックして
Shift+Ctrl+Enterキーを押してみてください。
数式の前後に { } の記号が入り、配列数式になります。
I2セルに
=IF(COUNTBLANK(B2:G2)=6,"",INDEX($B$1:$G$1,SMALL(IF(B2:G2<>"",COLUMN(A2:F2)),COLUMN(A1))))
J2セルに
=IF(COUNTBLANK(B2:G2)=6,"",INDEX($B$1:$G$1,LARGE(IF(B2:G2<>"",COLUMN(A2:F2)),COLUMN(A1))))
そして、I2・J2セルを範囲指定して
オートフィルで下へコピー、又はオートフィルハンドルの(+)マークで
ダブルクリック!
これで希望に近い形にならないでしょうか?
尚、購入月が1度しかない場合は
初回も終回も同じ月になります。
以上、参考になれば幸いです。m(__)m
ご回答ありがとうございます。
画像も添付して頂き、ありがとうございました。
配列式はあまり使ったことがないのですが、
参考にさせて頂きたいと思います。
No.3
- 回答日時:
6ヶ月だったらIF関数で事足りるのでは?
初回
=IF(COUNT(B2:G2)=0,"",IF(B2<>"",$B$1,IF(C2<>"",$C$1,IF(D2<>"",$D$1,IF(E2<>"",$E$1,IF(F2<>"",$F$1,IF(G2<>"",$G$1,"")))))))
最終
=IF(I2="","",IF(G2<>"",$G$1,IF(F2<>"",$F$1,IF(E2<>"",$E$1,IF(D2<>"",$D$1,IF(C2<>"",$C$1,IF(B2<>"",$B$1)))))))
最終ならこんなのもありです
=IF(I2="","",INDEX($B$1:$G$1,MATCH(8^3^8,B2:G2)))
ご回答ありがとうございます。
画像もありがとうございました。
実際のデーターは約10年ありますので
(説明不足で申し訳ありません)
今後、参考にさせて頂きたいと思います。
No.2
- 回答日時:
顧客No10010が行番号2だとして、セルK2に数式
=if(isblank(B2),T(""),$B$1)
と入力すれば、K2が(1月)になると思います。
同じ要領でL2セルを
=if(isblank(C2),T(""),$C$1)
とすれば、L2がブランク。
数式がG2とG$1になるまで横に並べると、K列からP列までの間に(1月)と(4月)が出ます。
I2とJ2に次の数式を入れれば、それらが顧客No10010の答えです。
I2 =min(K2:P2)
J2 =max(K2:P2)
I2からP2までの範囲を下方向にセルコピーすれば、全行結果が出ると思います。
行1の購入月が左から右に大きくなるように並ぶように工夫してください。これが上記どおりでうまくいく前提となります。
ご回答ありがとうございます。
ただ、実際のデーターは約10年分あるため、
この方法ですと列数が足りなくなりそうです。
説明不足で申し訳ありません。
今後、参考にさせて頂きたいと思います。
No.1
- 回答日時:
VBAなら、ほかの場合に良く使うやり方が有るので、VBAが出来る人には簡単。
End(xlToRight)やColumn、End(xlToLeft)。関数では、難しい問題で、エクセル関数のエキスパートが回答をくれるかもしれない。
あまり良い方法を思いつかないので配列数式を使った。
最終月は
例データ 7月までで省略
月1234567
a1212
=INDEX($A$1:$J$1,1,MAX((B2:H2<>"")*(COLUMN(B1:H2))))
と入れてSHIFT+CTRL+ENTERを同時押し。配列数式。
結果
5(月)
ーー
最初月は
=INDEX($A$1:$H$1,1,MIN(IF(B2:H2<>"",COLUMN(B2:H2),999)))
と入れてSHIFT+CTRL+ENTERを同時押し。配列数式。
結果
2(月)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- 北アメリカ デルタ航空ベーシックエコノミーとメインキャビンについて 2 2022/10/25 20:08
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセル/列追加時、合計行の計算式 7 2023/03/15 11:14
- Excel(エクセル) エクセルで最初に値が入っているセルを見つける方法はありますか? 2 2023/07/18 14:58
- Y!mobile(ワイモバイル) 2年前購入の中学生の子供のiphone SE2が故障し機種交換を考えています。 2 2023/04/08 01:08
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- au(KDDI) iPhone 12 pro(au povo) から iPhone14(買い換えるならPro) に機種 7 2022/09/08 19:53
- OCNモバイルONE 楽天モバイル 対象機種購入還元ポイントについて 1 2022/05/04 20:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelについて教えてください
-
【マクロ】名前を保存する際に...
-
エクセル マクロ チェックボックス
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
【Excel】数字を3倍にし、なお...
-
Excel分析ツールでのポアソン回...
-
エクセルVBA、別ブックへ転記す...
-
【マクロ】顧客番号にて一致さ...
-
Excelでセルの値が同じか...
-
(マクロ)データをAブックからB...
-
エクセルを使っていて2024/5/15...
-
エクセル共有したが、アクセス...
-
エクセル②
-
エクセルのデーターが2か月前の...
-
UNIQUE関数が使えないバージョ...
-
INDIRECTを使わず excelで複数...
-
Excelで縦軸の書式を0:00形式の...
-
【マクロ】読取専用のファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報