日本語
Continue in the app
Be The First To Get Support Updates
Want to know about the latest technical content and software updates?

操作手順: 文字列フィールドを数値フィールドに変換する

概要

属性テーブルの元のデータ型が適切に設定されていないことが原因でデータ分析の実行ができない場合、文字列 (テキスト) フィールドの値を数値に変換することがあります。 (特に外部ソースのデータを共有またはインポートする場合) データの整合性を確保するために、フィールドを別のタイプに変換する方法は、データを目的のタイプの新しいフィールドにコピーすることです。

次に示す 3 つの解決策は、1 つ目は ArcGIS Pro 1.x と 2.x に対応し、2 つ目の解決策は ArcGIS Desktop 10.x、3 つ目はもっと古いソフトウェア (ArcView GIS 3.x など) に対応します。

手順

ArcGIS Pro 1.x および 2.x の場合

  1. ArcGIS Pro プロジェクトを開き、該当するデータまたはテーブルをプロジェクトに追加します。
  2. [コンテンツ] ウィンドウでデータかテーブルを右クリックし、[属性テーブル] を選択します。
  3. [追加] ボタンをクリックして新しいフィールドを作成します。 [追加] ボタンの画像
  4. [フィールド] リスト ビューで、次のプロパティを設定します。
    1. 新しいフィールドの名前を設定します。
    2. [データ タイプ] を数値タイプに設定します。 最も一般的なのは、Long または Double フィールド タイプです。
    3. [数値形式][数値] に設定し、必要に応じて設定を調整します。
    4. 必要に応じて、ドメイン、デフォルト、フィールドの長さの値を設定します。
  5. 上部のリボンで ([フィールド] タブ)、[保存] をクリックし、編集内容をテーブルに保存して、[フィールド] ビューを閉じます。
  6. 新しく作成した数値フィールドの見出しを右クリックし、[フィールド演算 (Calculate Field)] を選択します。 [フィールド演算] ジオプロセシング ダイアログ ボックスが開きます。
  7. [入力テーブル][フィールド名]、および [式の種類] は自動的に入力されています。 [条件式フィールド] リスト ウィンドウで、新しく作成された数値フィールドに移行する必要がある属性を含む文字列フィールドを特定し、ダブルクリックします。 [条件式] テキスト ボックスには次のように入力されます。
!<String field name>!
[フィールド演算] ウィンドウのダイアログ ボックスの画像
  1. [実行] をクリックして、ツールを実行します。
注意: 文字列フィールドに NULL (空) の値があると、ツールの実行に失敗する可能性があります。 詳細については、ArcGIS Pro Web ヘルプ ドキュメント「新規フィールドの作成とドメインおよびデフォルト値の適用」をご参照ください。

ArcGIS Desktop 10.x の場合

  1. ArcMap を開き、レイヤーまたはファイル ジオデータベースの属性テーブルを開きます。
  2. ArcMap でフィールドのデータ タイプを確認するには、フィールドの見出しを右クリックし、[プロパティ] を選択します。
[フィールド プロパティ] ダイアログ ボックスの画像。
  1. [テーブル] ウィンドウの左上で、[テーブル オプション] ドロップダウン ボタン ユーザー追加された画像 をクリックして [フィールドの追加] を選択します。
注意: [フィールドの追加] オプションは、ユーザーがデータへのアクセス権を持ち、かつデータが他のユーザーやアプリケーションからアクセスされていない場合にのみ使用されます。 このオプションは、マップが編集セッションである場合にも無効になります。
  1. 新しいフィールドの [名前] を指定します。
  2. フィールドの [タイプ][Long Integer] または [Double] などの数値タイプに設定します。
  3. 必要に応じて、[全桁数][小数点以下桁数] を設定します。
  4. [OK] をクリックします。
  1. 新しく作成したフィールドの見出しを右クリックして、[フィールド演算] を選択します。
  2. 文字列フィールドに数値しか含まれない場合、次の手順を実行して、数値フィールドに属性をコピーします。
    1. [形式][VB Script] に設定します。
    2. 条件式のウィンドウに「String field nameを入力するか、[フィールド] ボックスで文字列フィールドを選択して [OK] をクリックします。
[フィールド演算] ダイアログ ボックスの画像
  1. 文字列フィールドに英数字が混合している場合は、次の手順を実行して属性をコピーします。
    1. [形式][VB Script] に設定し、[コードブロックを表示] チェックボックスをオンにします。
    2. 以下のコードをコピーして [事前に作成したスクリプト コード] テキスト ウィンドウに貼り付け、「String field name」を変換するフィールドの名前に置き換えます。 左右の角括弧はそのままにしておきます。
Dim String, Check String = [String field name] Check = IsNumeric(String) If Check = True then Output = CDbl(String) else Output = null End if
注意: 5 行目の「CDbl(String)」を、手順 3 (b) で選択した数値フィールド タイプに応じて、次の関数に置換します。 - Integer: CInt(String) - Long: CLng(String) - Double: CDbl(String)
  1. 2 つ目の条件式ウィンドウで (この例では「DoubleV =」)、次のように入力します。
出力
次の図に、[フィールド演算] ダイアログ ボックスを示します。 この例では、文字列フィールドを [Double] フィールドに変換します。
[フィールド演算] ウィンドウに入力されたコードの画像。
  1. [OK] をクリックします。 スクリプトを実行すると、数値フィールドに文字列フィールドの値が入ります。
注意: 文字列フィールドに数値以外の文字またはシンボルが含まれている場合、数値フィールドに変換してもそのセルの値はデフォルトの <Null> のままです。

ArcView GIS 3.x の場合

注意: ArcView GIS は、2012 年 12 月の時点で廃止された製品です。 以下の手順は、情報提供のみを目的としています。

文字列フィールドを数値フィールドに変換するには、新しい数値フィールドを作成して、元のフィールドから新しいフィールドに値をコピーします。

テーブルに数値フィールドを追加する
  1. テーブルを開き、[テーブル] メニューで [編集の開始] を選択します。
  2. [編集] メニューから [フィールドの追加] を選択します。
  3. [フィールド定義] ダイアログ ボックスで、次の操作を行います。
    1. [名前] を適切な名前に設定します (Area など)。
    2. [タイプ][数値] に設定します。
    3. [幅] を適切な数値に設定します (32 など)。
    4. [桁数] を目的の数値に設定します (6 など)。
    5. [OK] をクリックします。
  4. [テーブル] メニューで [編集の終了] を選択して、編集内容を保存します。
[フィールド演算] を使用して、新しいフィールドに値をコピーし、その値を数値に変換します。
  1. 必要に応じ、テーブルを開いて [編集の開始] を選択します。
  2. [数値] フィールドを選択します。
  3. [フィールド] メニューから [計算] を選択します。
  4. [フィールド] リストの文字列フィールドをダブルクリックします。
  5. [タイプ][文字列] に設定します。
  6. [リクエスト] リストを下にスクロールして、[AsNumber] をダブルクリックします。
  7. 最終的な条件式は、次のようになります。
[Strng_fld].AsNumber
  1. [OK] をクリックします。
  2. [テーブル] メニューで [編集の終了] を選択して、編集内容を保存します。

関連情報

更新日時: 8/26/2021

記事 ID: 000002287

ソフトウェア: ArcView GIS 3.2, 3.1, 3.0b, 3.0a, 3.0 ArcGIS Pro 2.4.3, 2.4.2, 2.4.1, 2.4, 2.3.3, 2.3.2, 2.3.1, 2.3, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2, 2.1.3, 2.1.2, 2.1.1, 2.1, 2.0.1, 2.0, 1.4.1, 1.4, 1.3.1, 1.3, 1.2