エクセル実践塾 > エクセル実践塾2016

売上データから、 直近の購入日(Recency)を取得したい

 

配列数式で求めることができます

Excelでは、日付はシリアル値として扱われます。

シリアル値は、日付や時間を数値として表現するための方法であり、1900年1月1日を基準日として、そこからの経過日数を数値化しています。

1900年1月1日 はシリアル値 1 に対応します。2024年8月10日は、シリアル値では45225となり、基準日である1900年1月1日から45224日後ということになります。

つまり、直近の日付であるほど、大きなシリアル値となるので、顧客を条件として購入日の最大値を求めれば、それが直近の購入日ということになるわけです。

配列数式でそれを求めることができます。

 


 

@作例では、あらかじめ売上データをテーブル化し、「売上2024」という名前をつけています

作例の売上データには、2024年の1月から10月までの売上が記録されています。

 

 

A日付の最大値を求めるので、MAX関数を使います

 

B顧客IDと、売上ごとの顧客IDを比較する論理式を作ります

論理式は括弧でくくって指定します。

C売上データの顧客IDのセル範囲と比較する論理式にします

テーブル化しておくと、左図のように見出しの上でのクリックで、そのセル範囲を指定できます。

D顧客IDを比較する論理式と、売上日のセル範囲を乗算します

論理式の結果は、真のときに論理値1、偽のときには0となるので、顧客IDの一致する日付のみが配列で取得されることになります。

E配列数式は、Ctrl+Shift+Enterで確定します

該当する日付の最大値が、シリアル値で得られます。

F表示形式を日付にすれば、直近の購入日が表示されます

G配列数式は、他のセルにコピーして利用することができます

   
   
   
   
   
   
   
   
   
   
 

 

●RFM分析に用いる直近の購入日(Recency)や、 一定期間内の購買頻度(Frequency)、 一定期間内の購買金額(Monetary)を 配列数式で求める動画です

関連する他のページ

日付と金額の二つが重複する行を、 条件付き書式で強調したい
SUM関数を使った配列数式は、 SUMPRODUCT関数で代用できます

日付と金額の二つが重複する行を見つけたい
2つの比較式を乗算する配列数式を使う方法があります

名前付きのセル範囲から、 条件に合致するデータだけを参照したい
ユーザー定義関数を作れば、 それを使った配列数式で該当データを参照できます

名前付きのセル範囲の、 任意のデータ列を参照したい
INDEX関数を使った配列数式なら、 指定列のデータを参照できます

名前付きのセル範囲のデータを参照したい
配列数式で参照できます

指定期間の祝日の数を知りたい
配列数式を使って、 期間初日以降に該当し、 同時に期間末尾以前に該当する祝日を数えます

土日の労働時間を集計したい
WEEKDAY関数を使った配列数式で行えます

住所から都道府県名を取り出して表示したい
あらかじめ都道府県の一覧を用意しておけば、 それを使った配列数式で、 住所から都道府県名を取り出して表示できます

隔列のセル値を合計したい
配列数式を使って合計する方法があります

数字の組み合わせ出現回数を一覧表で見たい
配列数式で集計することができます

数字の組み合わせでの出現回数を調べたい
フィルターを適用し、 SUBTOTAL関数で回数を集計します

数式で、一意の値を抽出したい
配列数式で抽出することもできます

時間帯ごとの予約数を集計したい
配列数式を使う方法があります

直近の購入日時を知りたい
日付の実体は数値(シリアル値)なので、 MAX関数を使った配列数式で調べられます

日時データを使って、 月別で売上を集計したい
配列数式を使えば、 日時データから月を照合して、 該当する売上のみを合計できます

複数回答のアンケートを集計したい
FIND関数を使った配列数式で集計することができます

重複しない個数を求めたい
COUNTIF関数を使った配列数式にします

年度ごとの月別売上を集計したい
複数条件による配列数式を使う方法があります

配列数式による評価計算結果をABC評価に変えたい
CHOOSE関数を使うと、 計算で得られた数値を、 任意の文字に変えることができます

実績を一定の目標値でまとめて評価したい
配列数式を使うと、 範囲内の実績セルをそれぞれ指定値と比較して、 その結果をSUM関数で合計することができます

源泉徴収税額表を使って、 所得税を求めたい
配列数式を使えば、 空白の含まれる表からでも、 該当値を取得することができます

会員番号ごとに最新売上日時を求めたい
MAX関数を使った配列数式にすれば、 売上日時の中から最新のものを表示できます

学級や男女別の順位を求めたい
条件付きの順位を求めるときには配列数式を用います

直近3回の来店日を知りたい
LARGE関数を使った配列数式で求められます

直近の来店日を知りたい
MAX関数を使った配列数式で求められます

『月』列を追加しないで、各月の売上を集計したい
配列数式なら、 数式による条件式を使うことができます

マス計算の解答を作りたい
配列数式を使うと、 まとめて答を得られます

素数を探し出したい
配列数式を使えば、一つの数式で、素数か否かを判断できます

配列数式を使って、年齢層ごとの来店数を求めたい
配列数式では、条件式を乗算することによって、複数の条件を指定します

重複値を無視して、伝票番号の個数が知りたい
COUNTIF関数を使った配列数式で求めることができます

数式を使って年代別の集計を行いたい
配列数式を使うと、年齢などの数値データをグループ化して集計できます

仕入伝票と売上伝票を使って、月ごとで在庫管理したいA
配列数式にすると、「月」列なしに入出庫数を求めることができます

階級ごとの度数を数式で求めたい
FREQUENCY関数を使えば、配列数式で簡単に度数を求められます

さらに条件を加えて、順位を求めたい
配列数式での条件の追加は、追加する条件式の乗算で行えます

COUNTIFS関数の使えない2007より前のExcelでも利用できる表を作りたい
COUNTIFS関数と同等の、配列数式を利用する方法があります

一つおきのセルの値を合計したい
配列数式を使えば、特殊な条件に合致するセルの値だけを合計することができます

他のシートのデータを転記して使いたい
あらかじめデータ範囲に適当な名前をつけておけば、 配列数式で簡単にできます

特集「条件式(論理式)の考え方」

年齢層で異なる低体重のBMI値を、 一つの条件付き書式で強調したい
AND条件の論理式を、 OR条件の論理式でまとめれば、 一つの条件付き書式で適用できます

勤務時間に該当するセルを判別したい
出勤時刻以降で、 退勤時刻未満の時間帯であるかどうかを、 論理式の乗算で判別します

休憩時間の計算や、 勤務時間の○.○時間への変換を行いたい
休憩時間の計算は論理式の演算で、 勤務時間の○.○時間化は24の乗算で行えます

時間帯ごとの勤務人数を確認したい
論理式を使えば、 シフトに該当する時間帯を数値で確認できます

実績が目標に達したかどうかで評価したい
実績と目標を比較する論理式の結果を足し算すれば、 その個数で評価を行えます。

実績が目標に達したかどうかを確認したい
比較演算子を使った論理式で、 実績が目標以上となったかどうかを確認できます

勤務時間を合計したい
論理式で勤務時間帯を求めている場合は、 表示されている1を合計すれば、 総勤務時間を求められます

勤務時間の帯を表示したい
論理式で条件付き書式を設定する方法があります

50点以下を評価値1、51〜80点を評価値2、81点以上を評価値3にしたい
論理式を使って演算する方法があります

所定の休憩時間を引いた、 実働時間を求めたい
勤務時間が整数なら、 CHOOSE関数で数式を簡略化できます

曜日で異なる変則的な勤務時間で、 各日の時間外を求めたい
CHOOSE関数を使えば、 曜日ごとに異なる数値を使用して計算できます

配列数式による評価計算結果をABC評価に変えたい
CHOOSE関数を使うと、 計算で得られた数値を、 任意の文字に変えることができます

対戦結果を○△●で表したい
対戦結果を論理計算し、 その値を使ったCHOOSE関数式にします

3段階評価をABC評価に変えたい
CHOOSE関数を使えば、整数値を順に別の値に置き換えることができます

日付データを使って第○四半期と表示させたい
CHOOSE関数を使えば、年度初めの月に合わせて、四半期の表示を行えます

5段階評価を点数に置き換えたい
対象が1から順に並ぶ整数なら、CHOOSE関数を使えます