2022年12月13日火曜日

【社内DX案件紹介】架電内容ごとの情報振り分け-1-

 今回も実際に依頼された社内DX案件を紹介します。


■案件2 架電内容ごとの情報振り分け

依頼内容

社内のデータベースにあるコールセンターのデータを特定の条件で振り分けてもらいたいというもの。

今はスタッフが手作業で振り分けていたようだが、それをVBAで何とかしたい。というもの。

つまりこれを

データベースのデータを手作業で振り分け

こうしたいということ

データベースの情報を自動で振り分け

実際のデータはこんな感じなのですが、

約20列のデータベースのデータ

これを

・架電理由

・工程名称

・NAT

・意思確認

データベースの条件を取得する箇所

の値が以下の条件に当てはまるようなパターン処理が必要となる。

12パターンの条件分岐

というわけで今回はこんな処理をなるべくシンプルになるようなマクロを作成します。

今回作るマクロ

シート「抽出データ」にある情報をパターン毎に分類し、各シートへ転記するマクロ

実際の処理の流れは非常に簡単で

1.シート「抽出データ」のデータを取得する

2.取得したデータを条件に合ったシートへ転記する

処理のながれ

この2点だけです。

ただ、この”条件”が非常に厄介です。

処理のながれ 条件だけ赤字

先ほどの分類の条件をもう一度確認しますがこんな感じです。

分類の条件 再掲

これをフローチャートで表すとこんな感じで複雑です。

条件のフローチャート

更にこれをマクロで書くとこうなります。

    strKaden = 架電理由の値を格納

    strKoutei = 工程名称の値を格納

    strNAT = NATの値を格納

    strIshi = 意思確認の値を格納

とすると、

If strKaden = "自動更新" Or strKaden = "OB対象外" Or strKaden = "審査" Then
	If strKoutei = "電話・本人宛NAT" Then
		If strNAT = "" And strIshi = "1" Then
		strSheetName = "パターンA"
		Else
		strSheetName = "パターンL"
		End If
	ElseIf strKoutei = "電話・事前不備有" Then
		strSheetName = "パターンB"
	ElseIf strKoutei = "電話・本人宛不備" Then
		strSheetName = "パターンC"
	ElseIf strKoutei = "電話・同意" Then
		strSheetName = "パターンD"
	ElseIf strKoutei = "電話・資料請求" Then
		strSheetName = "パターンE"
	Else
		strSheetName = "パターンL"
	End If
ElseIf strKaden = "電話・資料請求" Then
	If strKoutei = "電話・本人宛NAT" Then
		strSheetName = "パターンG"
	ElseIf strKoutei = "電話・事前不備有" Then
		strSheetName = "パターンH"
	ElseIf strKoutei = "電話・本人宛不備" Then
		strSheetName = "パターンF"
	Else
		strSheetName = "パターンL"
	End If
ElseIf strKaden = "窓口(新規)" Then
	strSheetName = "パターンI"
ElseIf strKaden = "不明" Or strKaden = "乗換" Or strKaden = "利用率高" _ 
		Or strKaden = "未成年" Then
	strSheetName = "パターンJ"
ElseIf strKaden = "ハイクラス" Then
	strSheetName = "パターンK"
Else
	strSheetName = "パターンL"
End If

かなり見づらいコードになりますね。


なので、今回は少しやり方を変えて、

架電理由:①

工程名称:②

NAT:③

意思確認:④

として、①②③④の値からパターン分けしていきたいと思います。

分類の条件 各番号によるパターン化

どういう考え方かというと、ASN.1の列挙型(ENUMERATED)に近いのですが、

①架電理由=自動更新・・・1

②工程名称=電話・本人宛NAT・・・1

③NAT=空欄・・・1

④意思確認=1・・・1

である場合、①②③④は”1111”となります。

この①②③④が”1111”の時はパターンAと判定する。

①②③④が"12xx"の時はパターンB、"15xx"の時はパターンEとすることで、複雑な条件式を作らなくてもよくなり、また条件が増えた場合においても修正が簡易となります。

※xは不問(どんな値でもよい)


このような場合はどのように書いていくのか、次回は実際にコードを書いてみたいと思います。

↓よろしければクリックをお願いします!

次 > 【社内DX案件紹介】架電内容ごとの情報振り分け-2-


TOPページに戻る



■社内DX案件紹介

【社内DX案件紹介】アンケートの集計-1-

【社内DX案件紹介】アンケートの集計-2-

【社内DX案件紹介】2つのファイルの内容を比較する

【社内DX案件紹介】封入物の重さによって印刷会社を変える

【社内DX案件紹介】データの期間によってレコードを分割しファイル出力する

【社内DX案件紹介】値の入っているシートのみ印刷する


■社内DXの進め方

【社内DXの進め方】ブログの目的(会社が求めるDX)

【社内DXの進め方】社内DXの推進について

【社内DXの進め方】社内DXは具体的に何をすればよいのか?

【社内DXの進め方】なぜ今Excelか?


0 件のコメント:

コメントを投稿