NUMBER マクロ
NUMBER マクロは IBM® Campaign および IBM Interact で使用可能です。
構文
NUMBER(data [, conversion_keyword])パラメーター
data
数値に変換する ASCII テキスト・データ。これは引用符で囲んだ ASCII テキスト、テキスト列、テキストを含んだセル範囲、または上記のいずれかを評価する式になります。data のフォーマット定義については、このガイドの IBM 製品の章にある「マクロ関数パラメーター」セクションを参照してください。
conversion_keyword
このオプションのキーワードは、日付および時刻のテキスト・フォーマットを解釈する方法を指定します。以下の表内のいずれかのキーワードを選択します。
変換キーワード | フォーマット | 説明 |
---|---|---|
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 と表すことができます。
例
TEMP = NUMBER("$1.23") または TEMP = NUMBER("123%", 2) 数値 1.23 を含む新しい列を TEMP という名前で作成します。 |
TEMP = NUMBER(column("Jan", "Mar", "Dec", 8) 数値 1、3、および 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) TEMP、VX、および 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 テキスト日付ストリングを曜日に変換します |