Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
A/B/Cのセルの文字を結合して、Dセルに四桁以下の数字の場合は空白にする
投稿日時: 18/08/16 22:34:19
投稿者: Mapleleaf

お世話になります。
下記のような表を作成する必要があるのですがなかなかうまくいきません。
 
A1セル B1セル     C1セル D1セル
例(PASSPORT番号) 例種別(国籍)  例(番号)  例(出力)
 
TK6412305      JP 1      TK6412305 JP 1 (=A1&" "&B1&" "&C1)
 
A2 B2 C2 D2
空白 空白 2 2 (=A2&" "&B2&" "&C2)
 
 
*上記のようにD2出力セルが四桁の数字以下の場合は空白にする場合の数式を
 考えているのですがどうにもいかず行き詰まっております。。。。
 1500名ぐらいの表でPASSPORT番号入った出力以外は空白にしたいと思っております。
 
ご知恵をもしいただければ大変有り難いです。宜しくお願い致します。

投稿日時: 18/08/16 22:44:06
投稿者: Mapleleaf

すみません。
 
投稿したら、行がずれて意味がわかりにくくなってしまいました。
 
A1セルがPASSPORT番号 TK6412305
B1セルが種別(国籍) JP
C1セルが番号 1
D1セルがA1/B1/C1の合計: TK6412305 JP 1 ((=A1&" "&B1&" "&C1)です。
 
A2セルがPASSPORT番号 空白
B2セルが種別(国籍) 空白
C2セルが番号 2
D2セルがA2/B2/C2の合計 2 (=A2&" "&B2&" "&C2)
 

のPASSPORTと種別が空白の場合に番号のみが四桁以下の数字の場合は空白
にできればと。意味が通じなかったらすみません。
 
宜しくお願い致します。

回答
投稿日時: 18/08/16 23:10:52
投稿者: 半平太

単に、C列の番号を見れば判断できそうに思えるんですけど、
そんな簡単なら質問しないですよね。
 
・・と言うことは、C列は数字だったり、アルファベットだったりするんでしょうか?
 
判断が難しいと思えるサンプルデータをアップいただけないですか?
 
参考までに、簡単だと思った数式を書いて置きます。
              ↓
D1セル =IF(AND(COUNTBLANK(A1:B1)=2,N(C1)<=9999),"",A1&" "&B1&" "&C1)

回答
投稿日時: 18/08/17 07:39:37
投稿者: Mike

D1: =IF(LEN(TRIM(A1&" "&B1&" "&C1))>4,A1&" "&B1&" "&C1,"") では、如何?

回答
投稿日時: 18/08/17 10:58:06
投稿者: コナミ

>1500名ぐらいの表でPASSPORT番号入った出力以外は空白にしたいと思っております。
 
とあるので、A列のセルが空白かどうかの判断ではダメなんですか?
 
とりあえず半平太さんの書かれているように表示するケースとしないケースのサンプルが欲しいですね。

回答
投稿日時: 18/08/17 15:25:27
投稿者: WinArrow
投稿者のウェブサイトに移動

そもそものことですが、
なんで、D列セルの文字列結合の結果で
>数字四桁以下
を判定するのでしょうか?
 
可能性のパターンとして
(1)A列セル=空白、B列セル=空白、C列セル=空白
(2)A列セル=空白、B列セル=空白、C列セル=数字
(3)A列セル=空白、B列セル=有り、C列セル=空白
(4)A列セル=有り、B列セル=空白、C列セル=空白
(5)A列セル=有り、B列セル=有り、C列セル=空白
(6)A列セル=有り、B列セル=有り、C列セル=有り
というような組み合わせがあります。
(全部パターンを掲示していません・・・)
 
質問者さんは
このうち、(2)だけを問題にしているようですが、
他のパターンは、チェックする必要はないのですか?
 
また、C列セルも単なる数字ではなく4桁以内の数字という条件が必要ではないのですか?
(5桁の数字が入力されたら?)
 

回答
投稿日時: 18/08/17 15:31:01
投稿者: WinArrow
投稿者のウェブサイトに移動

前レスのパターンの中で「(6)」以外を検出する方法を提案します。
 
=IF(AND(A2<>"",B2<>"",C2<>""),=A2&" "&B2&" "&C2,"")
 
各セルの条件を無視した数式ですが、
必要ならば付け加えてください。
 
 

回答
投稿日時: 18/08/17 16:29:38
投稿者: WinArrow
投稿者のウェブサイトに移動

>また、C列セルも単なる数字ではなく4桁以内の数字という条件が必要ではないのですか?
に関する提案
 
C列セルに入力規則を設定する方法もあります。
 
例えば、
「数字4桁以下」という条件の場合
「データ」−「入力規則」
設定タブ
 
「入力値の種類」:ユーザー定義
「数式」:=AND(ISNUMBER(C2),LEN(C2)<=4,C2>0)
エラーメッセージタブで表示すたい文字列を設定すれば、エラー時の対処案内になります。
 
というような設定で、入力時にチェックされます。
 
これでよければ、D列セルの数式には加味する必要はありません。
 
 
 

投稿日時: 18/08/18 11:39:22
投稿者: Mapleleaf

皆様
 
お世話になっております。たくさんアドバイスいただき有難うございます。
今皆様からいただいたアドバイスをもとにとりかかっております。
 
皆様のおかげで解決する事できてとても助かりました。
 
上手く説明できずに、またサンプルデータのアップ方法がわからず、ご迷惑かけましたが
皆様のアドバイスに感謝しております。
 
規定の1500名の表に、顧客からのリスト(1500名以内)を貼付けて、次にリスト内を
編集してそれを行政の業務ソフトの専用リストにデータ貼り付け委し札印刷発給申し込み
を行います。
 
1500名maxであれば良いのですが、以下の場合でも1,500名全体を一括コピ・貼付けで業務ソフトの
表に貼付けた際に 空白/空白/1(番号についてはpassport 番号が入力されたら自動に1から1500まで
入るように数式を入れてます。)と表示され1500をマクロで一括コピーした際に、その番号までコピー
されて業務ソフトの表がエラーとみなし申請の送信でひっかかり中断されてしまいます。
 
それでpassport番号は4桁以上なので、四桁以下(1-1500)の番号が必要ない空欄に反映されないよう
できないかと悩んでおりました。一括1500をコピーしないで、選択コピーすれば良いだけなのですが。
 
TK6412305 JP 1 (=A1&" "&B1&" "&C1)
TK6412308 JP 2 (=A2&" "&B2&" "&C2)
TK6412301 JP 3 (=A3&" "&B3&" "&C3)
             4 (=A4&" "&B4&" "&C4)
             5 下へ
            1500
 
1500一括コピーして業務ソフトに貼付けると当然必要無い4-1500までも貼付けられるので、
空白にできればと。
 
とりとめない説明になりましたが、無事皆様のおかげで解決できましたので有難うございました。