NUMBER マクロ

NUMBER マクロは IBM® Campaign および IBM Interact で使用可能です。

構文

NUMBER(data [, conversion_keyword])

パラメーター

data

数値に変換する ASCII テキスト・データ。これは引用符で囲んだ ASCII テキスト、テキスト列、テキストを含んだセル範囲、または上記のいずれかを評価する式になります。data のフォーマット定義については、このガイドの IBM 製品の章にある「マクロ関数パラメーター」セクションを参照してください。

conversion_keyword

このオプションのキーワードは、日付および時刻のテキスト・フォーマットを解釈する方法を指定します。以下の表内のいずれかのキーワードを選択します。

注: このパラメーターを指定しない場合、デフォルトは 1 です。
変換キーワード フォーマット 説明
0 ##### 各テキスト・ストリングの最初の 5 文字を固有の数に変換します
1 $ ( default) ドルの値を数値に変換します (例えば、"$123.45"123.45 に変換します)
2 % パーセンテージの値を数値に変換します (例えば、"50%"0.5 に変換します)
3 mm/dd/yy hh:mm 日付と時刻を、0000 年 1 月 1 日からの経過日数に変換します (yy 年に 1900 が自動的に加算されます)
4 dd-mmm-yy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy 年に 1900 が自動的に加算されます)
5 mm/dd/yy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy 年に 1900 が自動的に加算されます)
6 mmm-yy 日付を、指定された月の 1 日から 0000 年 1 月 1 日まで経過日数に変換します (yy 年に 1900 が自動的に加算されます)
7 dd-mmm 日付を、その年の始めからの経過日数に変換します (例えば、"01-FEB"32 に変換します)
8 mmm 3 文字の英語の月の省略形を 1 から 12 までの値に変換します (例えば、"DEC"12 に変換します)
9 {January | February | March … } 完全にスペルされた英語の月の名前を 1 から 12 までの値に変換します (例えば、"March"3 に変換します)
10 {Sun | Mon | Tue … } 3 文字の英語の曜日の名前の省略形を 0 から 6 までの値に変換します。この際、日曜日が週の始まりになります (例えば、"Sun"0 になります)
11 {Sunday | Monday | Tuesday … } 完全にスペルされた英語の曜日の名前を 0 から 6 までの値に変換します。この際、日曜日が週の始まりになります (例えば、"Monday"1 になります)
12 hh:mm:ss {AM | PM} 時刻を午前 00 時 00 分 00 秒 (真夜中) から経過した秒数に変換します (例えば、"01:00:00 AM"3600 になります)
13 hh:mm:ss 時刻を午前 00 時 00 分 00 秒 (真夜中) から経過した秒数に変換します (例えば、"01:00:00"3600 になります)
14 hh:mm {AM | PM} 時刻を午前 00 時 00 分 00 秒 (真夜中) から経過した分数に変換します (例えば、"01:00 AM"60 になります)
15 hh:mm 時刻を午前 00 時 00 分 00 秒 (真夜中) から経過した分数に変換します (例えば、"01:00"60 になります)
16 mm:ss 時刻を午前 00 時 00 分 00 秒 (真夜中) から経過した秒数に変換します (例えば、"30:00"1800 になります)
17 ddmm 日付を、その年の始めからの経過日数に変換します (例えば、"3101"31 に変換します)
18 ddmmm 日付を、その年の始めからの経過日数に変換します (例えば、"31JAN"31 に変換します)
19 ddmmmyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
20 ddmmmyyyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"31JAN0000"31 になります)
21 ddmmyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
22 ddmmyyyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"31010000"31 になります)
23 mmdd 日付を、その年の始めからの経過日数に変換します (例えば、"0131"31 に変換します)
24 mmddyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
25 mmddyyyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"01010001"366 になります)
26 mmm 3 文字の英語の月の省略形を 1 から 12 までの値に変換します (例えば、"MAR"3 になります) [これは変換キーワード 8 と同じです]
27 mmmdd 日付を、その年の始めからの経過日数に変換します (例えば、"JAN31"31 に変換します)
28 mmmddyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
29 mmmddyyyy 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"FEB010001"32 になります)
30 mmmyy 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (yy が 20 以下の場合には 1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
31 mmmyyyy 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (例えば、"FEB0001"32 になります)
32 mmyy 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (yy が 20 以下の場合には 1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
33 mmyyyy 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (例えば、"020001"32 になります)
34 yymm 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (yy が 20 以下の場合には 1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
35 yymmdd 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
36 yymmm 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (yy が 20 以下の場合には 1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
37 yymmmdd 日付を、0000 年 1 月 1 日からの経過日数に変換します (yy が 20 より小さいか等しい場合には、1900 が自動的に加算され、そうでない場合は 2000 が加算されます)
38 yyyy 年を、0000 年から経過した年数に変換します (例えば、"1998"1998 になります)
39 yyyymm 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (例えば、"000102"32 になります)
40 yyyymmdd 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"00010201"32 になります)
41 yyyymmm 日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します (例えば、"000102"32 になります)
42 yyyymmmdd 日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"0001FEB01"32 になります)
43 <day>* <month> 日の後に月が続き、任意の文字で区切られている日付を、その年の始めからの経過日数に変換します (例えば、"15-JAN"15 になります)
44 <day>* <month>* <year> 日の後に月、月の後に年が続き、任意の文字で区切られている日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"1/1/0001"366 になります)
45 <month>* <day> 月の後に日が続き、任意の文字で区切られている日付を、その年の始めからの経過日数に変換します (例えば、"JAN 31"31 になります)
46 <month>* <day>* <year> 月の後に日、日の後に年が続き、任意の文字で区切られている日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"JAN 1, 0001"366 になります)
47 <month>* <year> 月の後に年が続き、任意の文字で区切られている日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します
48 <year>* <month> 年の後に月が続き、任意の文字で区切られている日付を、指定された月の 1 日から 0000 年 1 月 1 日までの経過日数に変換します
49 <year>* <month>* <day> 月の後に日、日の後に年が続き、任意の文字で区切られている日付を、0000 年 1 月 1 日からの経過日数に変換します (例えば、"0001/01/01"366 になります)
50 yy 年を、0000 年から経過した年数に変換します (例えば、"97"97 になります)
51 mm 月を 1 から 12 までの値に変換します (例えば、"SEP"9 になります)
52 dd 日を 1 から 31 までの値に変換します (例えば、"28"28 になります)
53 {January | February | March … } 完全にスペルされた英語の月の名前を 1 から 12 までの値に変換します (例えば、"March"3 になります) [これは変換キーワード 9 と同じであることに注意してください]
54 {Sunday | Monday | Tuesday … } 完全にスペルされた英語の曜日の名前を 1 から 7 までの値に変換します。この際、日曜日が週の始まりになります (例えば、"Sunday"1 になります)
55 {Sun | Mon | Tue … } 3 文字の英語の曜日の名前の省略形を 1 から 7 までの値に変換します。この際、日曜日が週の始まりになります (例えば、"Sun"1 になります)

説明

NUMBER は、指定されたデータ範囲のテキスト値を、日付および時刻を変換するための指定されたフォーマットを使用して、数値に変換します。指定された conversion_keyword を使用してテキスト・ストリングを構文解析できない場合、NUMBER はエラーを生成します。形式 0 は、各テキスト・ストリングの先頭 5 文字を、一意のテキスト・ストリングについてそれぞれ異なる数値に変換します。これは、テキスト列を識別子への出力用の固有クラスに変更するための簡便な方法です。

区切り文字で区切られたフォーマット (変換キーワード 43 から 49) は、以下の区切り文字をサポートします。

  • / (スラッシュ)
  • - (ダッシュ)
  • , (コンマ)
  • " " (スペース)
  • : (コロン)

月は mm または mmm と表すことができます。日は d または dd と表すことができます。年は yy または yyyy と表すことができます。

注: 2000 年に準拠するため、日付の年はすべて yy の代わりに yyyy と指定できます。後方互換性のため、変換キーワード 1 から 16 では、yy (2 桁の年) に自動的に 1900 が加算されます。変換キーワード 17 から 55 の場合、yy < threshold であれば自動的に 2000 が加算され、yy ≥ threshold であれば自動的に 1900 が加算されます。
注: 2000 年の threshold 値が、「詳細設定」ウィンドウ (「オプション」 > 「設定」 > 「詳細設定」を使用して起動) の「データ・クリーニング」タブに設定されています。
注: 2000 年のしきい値を変更する場合、NUMBER マクロ関数を使用して 2 桁の年の日付値を操作しているすべてのマクロ関数を更新しなければなりません。マクロ関数の更新を強制するには、必要な編集 (例えば、スペースの追加や削除) を行ってからチェック・マーク・アイコンをクリックして、変更を受け入れます。
注: フォーマット 0 を使用する場合、各テキスト・ストリングの最初の 5 文字のみを使用して固有の番号を生成します。最初の 5 文字が等しいすべてのストリングが同一の数値に変換されます。同一のテキスト・ストリングは、異なるスプレッドシート上にあっても、常に同一の数値を生成します。必要な場合は、最初の 5 文字で一意的にクラスが定義されるように、ストリング・マクロを使用して、ストリングを操作します。結果の数値が非常に小さい場合もあることに注意してください。表示する小数点以下の桁数を増やしたり、フォーマットを指数モード (00E+00) に変更したりするには、「表示形式」ウィンドウを使用します。

TEMP = NUMBER("$1.23") または TEMP = NUMBER("123%", 2)

数値 1.23 を含む新しい列を TEMP という名前で作成します。

TEMP = NUMBER(column("Jan", "Mar", "Dec", 8)

数値 13、および 12 を含む新しい列を TEMP という名前で作成します。

TEMP = NUMBER("1:52 PM", 14)

数値 832 を含む新しい列を TEMP という名前で作成します。

TEMP = NUMBER("1/1/95", 5)

数値 728660 を含む新しい列を TEMP という名前で作成します。

TEMP = NUMBER(V1)

V1 列のテキスト・ストリングの数値を含む新しい列を TEMP という名前で作成します。ドル値は、数値に正しく変換されます。$ 形式を使用して解析できないテキスト・ストリングの場合は、??? が返されます。

TEMP = NUMBER(V1:V3, 4)

TEMPVX、および VY という名前の新しい列 3 つを作成します。TEMP 列には、V1 列のテキスト・ストリングの数値が含まれます。VX 列には、V2 列のテキスト・ストリングの数値が含まれます。VY 列には、V3 列のテキスト・ストリングの数値が含まれます。dd-mmm-yy 形式の日付は、0000 年 1 月 1 日 からオフセットされた日数に変換されます。$ 形式を使用して解析できないテキスト・ストリングの場合は、??? が返されます。

TEMP = NUMBER(V1[10:20]:V2, 10)

新しい列を 2 つ、TEMP および VX という名前で作成します。TEMP 列には、V1 列の 10 から 20 行のテキスト・ストリングの数値が含まれます。VX 列には、V2 列の 10 から 20 行のテキスト・ストリングの数値が含まれます。3 文字の標準的な英語曜日表記はすべて、0 から 6 の数字に変換されます (0 = 日曜日、6 = 土曜日)。曜日名に一致しない場合は、??? が返されます。

TEMP = NUMBER(V1, 0)

V1 列にすべて 5 桁のテキスト・ストリングが含まれている場合、一意のストリングごとに異なる数値を含む新しい列を TEMP という名前で 1 つ作成します。

関連関数

機能 説明
WEEKDAY ASCII テキスト日付ストリングを曜日に変換します