Excel (一般機能)

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

 
(Windows 10 Home : Excel 2016)
非表示設定するとエラー表示される
投稿日時: 21/06/07 13:26:56
投稿者: 桃太郎7

宜しくお願いします。
エラー「#VALUE!」を対処する方法を教えてください。
 
    A        B    C    
1    グループ        ID    名前
2    角田班        1    角田 豊一
3            2    丸子 隆司
4            3    加藤 菊夫
5            4    八木 和夫
 
「A1」グループ
「A2」C2セルの姓名(角田)を求める 「班」はユーザー定義で設定
「A2」数式 =LEFT(C4,FIND(" ",C4)-1)で「角田」を表示が出来ています
 
「B2」ID「1」を未入力にすると「A2」姓名欄にエラー[#VALUE!]が表示される
質問ですが、B2のIDを未入力(空白)にした場合のエラー表示を
対処する修正方法をご指導ください。
 
宜しくお願いします。

回答
投稿日時: 21/06/07 14:10:19
投稿者: WinArrow
投稿者のウェブサイトに移動

>A2」数式 =LEFT(C4,FIND(" ",C4)-1)で「角田」を表示が出来ています
この数式は正しいですか?
C4セルには「加藤 菊夫」が入っていると思いますが・・・・
 
また、B2セルは、この数式では参照していないので、エラーになるおとはないと思います。
 
ところで、C列の氏名ですが、「姓」と「名」の間のスペースは、全角なの、半角なの?

回答
投稿日時: 21/06/07 14:53:15
投稿者: QooApp

  A      B    C
1  [グループ]  [ID]   [名前]
2  角田班    1    角田 タロウ
3  丸子班    2    丸子 タロウ
4  加藤班    3    加藤 タロウ
5  八木班    4    八木 タロウ ※実名かもしれないデータは控えました
 
表を整理してみました。
A2〜A5セルに入力されている数式が、「=LEFT( C列同行 , FIND( " " , C列同行 ) - 1)」である場合、
上記のようにすべての行で●●班(”班”はユーザー定義)になるはずです。
 
上でWinArrowさんが指摘されていますが、
C列しか参照していないのでB列のIDは変動しても影響はありません。
 
=========
 
しかし、「IDを消したらエラーになった」ということから察するに、
「C列のユーザー名がIDを参照している」可能性はありませんか?
 
IDを消したらC列のユーザー名がエラーor空白化して、A列に入っている数式のFIND関数に設定されている「” ”」(全角か半角かわかりませんが空白)が存在しないよ、というエラーではありませんか?
 
それとも、FIND関数で設定している空白と名前のセルに含まれる空白の全角・半角が間違ってませんか?
 
=========
 
あと、IDの考え方は一意の(ユニークな)番号でしょうか?
それともID=1と付与されている人の時だけ、●●班とするものでしょうか。
 
▼一意の場合
お求め通りかわかりませんが、上記までの数式と入力データのチェックで解決しませんか?
 
▼ID=1の時だけ●●班の場合
A列のセルにIF文を追加して判定取ればよいでしょう。
=IF(B列同行=1,LEFT(C列同行,FIND(" ",C列同行)-1),"")
 
=========
 
余談になりますが、情報が少ないと回答者もとんちんかんな回答する可能性があります。
私も日本のどこかの1社会人でしかなく、他のユーザー様も自分の時間を砕いてご思案されていると思います。もう少し詳しくご説明があると短時間でお求めの回答が得られるでしょう。
表を書いていただいたことはとっても良い説明でした。
 

回答
投稿日時: 21/06/07 15:28:17
投稿者: んなっと

=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")
 

回答
投稿日時: 21/06/07 15:54:01
投稿者: WinArrow
投稿者のウェブサイトに移動

再掲
>質問ですが、B2のIDを未入力(空白)にした場合のエラー表示を
>対処する修正方法をご指導ください。
 
数式内で、セルB2を参照していないので、
これに対する対象方法はありません。
 
根本的に説明不足です。

投稿日時: 21/06/07 16:41:20
投稿者: 桃太郎7

QooApp さんの引用:
  A      B    C
1  [グループ]  [ID]   [名前]
2  角田班    1    角田 タロウ
3  丸子班    2    丸子 タロウ
4  加藤班    3    加藤 タロウ
5  八木班    4    八木 タロウ ※実名かもしれないデータは控えました
 
表を整理してみました。
A2〜A5セルに入力されている数式が、「=LEFT( C列同行 , FIND( " " , C列同行 ) - 1)」である場合、
上記のようにすべての行で●●班(”班”はユーザー定義)になるはずです。
 
上でWinArrowさんが指摘されていますが、
C列しか参照していないのでB列のIDは変動しても影響はありません。
 
=========
 
しかし、「IDを消したらエラーになった」ということから察するに、
「C列のユーザー名がIDを参照している」可能性はありませんか?
 
IDを消したらC列のユーザー名がエラーor空白化して、A列に入っている数式のFIND関数に設定されている「” ”」(全角か半角かわかりませんが空白)が存在しないよ、というエラーではありませんか?
 
それとも、FIND関数で設定している空白と名前のセルに含まれる空白の全角・半角が間違ってませんか?
 
=========
 
あと、IDの考え方は一意の(ユニークな)番号でしょうか?
それともID=1と付与されている人の時だけ、●●班とするものでしょうか。
 
▼一意の場合
お求め通りかわかりませんが、上記までの数式と入力データのチェックで解決しませんか?
 
▼ID=1の時だけ●●班の場合
A列のセルにIF文を追加して判定取ればよいでしょう。
=IF(B列同行=1,LEFT(C列同行,FIND(" ",C列同行)-1),"")
 
=========
 
余談になりますが、情報が少ないと回答者もとんちんかんな回答する可能性があります。
私も日本のどこかの1社会人でしかなく、他のユーザー様も自分の時間を砕いてご思案されていると思います。もう少し詳しくご説明があると短時間でお求めの回答が得られるでしょう。
表を書いていただいたことはとっても良い説明でした。
 

早速のご回答ありがとうございます。
質問の仕方・説明の不十分な点申し訳ございませんでした。
エクセルのスキルが低くてご迷惑をお掛けしています。
お尋ねの件につきまして
1)C列の名前は、別シートに名簿を作成、ID管理で名前をVlookupで表示
2)名簿の名前には、姓名と名前の間には「半角」スペースを入れています。
3)ID=1の時に1の登録者名が表示されます。
4)IFでIDセル(B2)を指定して、=IF(B2="","",LEFT(C2,FIND("",C2)-1),"")
  この数式でもエラー表示がされます。
 
 無知な私ですが宜しくご指導下さい。
 
 
 
 
 
 
 
 
 
 
 

回答
投稿日時: 21/06/07 16:57:42
投稿者: QooApp

C列はやはり参照していらっしゃったようですね。
承知です。
 
んなっと様がIFERRORを利用した回避方法を提案されております。
 

引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")

 
恐らくそれで解決だと思います。

投稿日時: 21/06/07 20:46:50
投稿者: 桃太郎7

QooApp さんの引用:
C列はやはり参照していらっしゃったようですね。
承知です。
 
んなっと様がIFERRORを利用した回避方法を提案されております。
 
引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")

 
恐らくそれで解決だと思います。

 
ご回答ありがとうございます。
 
>> =IFERROR(LEFT(C2,FIND(" ",C2)-1),"")<<
この数式でやりましたが、エラーの症状は変わりませんでした。
 
再度確認をしますが、B2のIDを入力すれば「ID=1:4」まで名前が表示されます。
問題は、B2セルにID番号1:4を消すとエラー表示になります。
んなっとさんからもご回答を頂いています数式で試しましたが出来ませんでした。
私が説明不足でご迷惑をお掛けして申し訳無いですが宜しくお願いします。

回答
投稿日時: 21/06/07 21:21:52
投稿者: んなっと

引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")<<
この数式でやりましたが、エラーの症状は変わりませんでした。

こちらのエクセルではC列が#N/Aエラーになることはあっても、
IFERRORを使っているA列は#VALUE!エラーになりませんでした。
 
      A   B      C D E      F
1 [グループ] [ID]    [名前]          
2   加藤班   3 加藤 タロウ   1 角田 タロウ
3     班        #N/A   2 丸子 タロウ
4   丸子班   2 丸子 タロウ   3 加藤 タロウ
5     班        #N/A   4 八木 タロウ
 
異世界のExcelなのでしょうか。
そちらの世界には行けないので、これ以上解決策を提示できません。
 
 
ちなみに、#N/Aエラーも消したいなら
C2
=IFERROR(VLOOKUP(B2,E:F,2,FALSE),"")
下方向・↓
 
      A   B      C D E      F
1 [グループ] [ID]    [名前]          
2   加藤班   3 加藤 タロウ   1 角田 タロウ
3     班            2 丸子 タロウ
4   丸子班   2 丸子 タロウ   3 加藤 タロウ
5     班            4 八木 タロウ

回答
投稿日時: 21/06/07 21:26:39
投稿者: QooApp

うーん、もしかして
エラー解消したいセルはA列ではなく、C列でしょうか
ちょっと手元にパソコン無いので確認できませんが…
 
仮にC列でも、VLOOKUPをIFErrorで囲えば良いと思うのですが、
今エラーが出ているのはA列ですか?
 
IFErrorがダメならIsErrorを使ってみてはどうでしょうか。
 
▼A列なら
=IF(IsError(LEFT(C2,FIND(" ",C2)-1)),"", LEFT(C2,FIND(" ",C2)-1))
 
▼C列のエラーをとるなら
=IFError(VLOOKUPで指定している書式,"")
 
こんな感じで動きませんかね?スマホで打ってるので誤字脱字あったらごめんなさい。

投稿日時: 21/06/08 10:10:09
投稿者: 桃太郎7

QooApp さんの引用:
うーん、もしかして
エラー解消したいセルはA列ではなく、C列でしょうか
ちょっと手元にパソコン無いので確認できませんが…
 
仮にC列でも、VLOOKUPをIFErrorで囲えば良いと思うのですが、
今エラーが出ているのはA列ですか?
 
IFErrorがダメならIsErrorを使ってみてはどうでしょうか。
 
▼A列なら
=IF(IsError(LEFT(C2,FIND(" ",C2)-1)),"", LEFT(C2,FIND(" ",C2)-1))
 
▼C列のエラーをとるなら
=IFError(VLOOKUPで指定している書式,"")
 
こんな感じで動きませんかね?スマホで打ってるので誤字脱字あったらごめんなさい。

 
早速のご回答ありがとうございます。
B2の「ID」番号を削除した場合に
 1)C2のエラーは解消されました
 2)A2のエラーは解消されませんでした。
 3)A2に表示される内容は「#LALUE!」ではなくて数式が表示される様になっています。
 
  以上がご指導頂きまして試した結果です・・経過報告です
  宜しくお願いします。

回答
投稿日時: 21/06/08 11:18:16
投稿者: んなっと

A列が文字列になっているかもしれません。
 
 A列を選択して
→データ
→区切り位置
→完了
 
として、結果を教えてください。
 
あと、次の書き込みは間違いですね。認めてください。

引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")<<
この数式でやりましたが、エラーの症状は変わりませんでした。

回答
投稿日時: 21/06/08 11:51:54
投稿者: QooApp

んなっと様がご指摘しております通りですね
A列のセルの書式が文字列型になっております。
 
詳細が必要であれば「エクセル セルの書式 標準にする」で検索いただけると詳細な手順がわかると思います。
セルの書式が文字列モードになっていると、イコールから始まる数式を入力してあっても文字として認識されます。
 
数式を入力したい場合は、セルの書式は標準や日付、金額など文字以外のモードに設定する必要があります。
自分もよくやるミスですが
 
・数式が表示されるままであればセルの書式をチェック
・数式の結果が#VALUE!等とエラーテキストになっている場合は参照しているセルの位置か代入式が不正
 
を疑ってみてください。
 
また、私よりもめちゃくちゃプロなWinArrow様、んなっと様のお話しもよくご確認いただけると
今後何か困ったことがあっても色々な方が助けてくれると思いますよ。
 
私が勉強不足でアイデアが出せないなんてことはここを利用していると毎日痛感させられます。
(Accessとか仕事で触っていてもまだ発言できるほどの自信すらありません。)
色々な方とも円滑なコミュニケーションができるようにお互い利用できればいいですね。

投稿日時: 21/06/08 14:12:29
投稿者: 桃太郎7

んなっと さんの引用:
A列が文字列になっているかもしれません。
 
 A列を選択して
→データ
→区切り位置
→完了
 
として、結果を教えてください。
 
あと、次の書き込みは間違いですね。認めてください。
引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")<<
この数式でやりましたが、エラーの症状は変わりませんでした。

何時も大変お世話になっています、また早速ご回答ありがとうございます。
 
早速設定をしましたが、以下の部分について教えてください。
 
A列を選択〜データ〜区切り位置〜
*データのファイル形式を選択してください:   
 「〇コンマやタブ」「〇スペースによって」のいずれをチエックしますか?
〜次へクリックすると
*区切り文字のチエックについて
 □タブ □セミコロン □コンマ □スペース □その他のいずれをチエックをしますか?
〜次へクリックすると
*区切ったあとの列のデータ形式を選択してください。
 列のデータ形式
 ◉G/標準 〇文字列 〇日付
 表示先「    」
〜完了をクリック
*既にデータがありますが、置き換えますか?
ここでOKをクリックしたら、全てのセルが数式が表示されました。
 
現在の状況は、B2の「ID」番号を入れればC2もA2も表示されます・・問題はありません!
B2「ID」番号が未入力の場合に、C2は空白になりますがA2には数式が表示されます。
 現状報告とA列の文字列データ設定のやり方についてお伺いをします。
 またご指導頂きました数式についてのご無礼なコメントについて深くお詫びいたします。
  宜しくご指導ください。
 

回答
投稿日時: 21/06/08 14:54:46
投稿者: んなっと

 A列を選択して
→データ
→区切り位置
→(何もしないで)ただ完了をクリック

回答
投稿日時: 21/06/08 15:20:11
投稿者: んなっと

あと、先頭に余計なものが付いているかもしれませんね。
例えば下のように半角スペースが付いているなど。
 
 =IFERROR(LEFT(C2,FIND(" ",C2)-1),"")
 
再度書き込みます。次の書き込みは間違いですね。
はっきりと認めてください。

引用:
=IFERROR(LEFT(C2,FIND(" ",C2)-1),"")<<
この数式でやりましたが、エラーの症状は変わりませんでした。

 

投稿日時: 21/06/08 15:30:35
投稿者: 桃太郎7

んなっと さんの引用:
 A列を選択して
→データ
→区切り位置
→(何もしないで)ただ完了をクリック

早速のご回答ありがとうございます。
A列の文字列をデータからの設定で出来ました。
ご報告です。
1)「班」の設定をユーザー定義で付与していましたが
 「班」がつかなくなりまして「標準」になりA列の空白が完成しました。
2)B2を削除しますとA列とC列を「空白セル」になりました。
  んなっとさんのご指導通りにA列の文字列の変更設定で解決が出来ました。
3)今までのユーザー定義で「班」を付けていましたが、この状況から別の方法で
  付ける事は無理なご相談でしょうか?
 
 まずはご指導頂きましたご回答で解決が出来ました事をご報告します。
  厚かましいお願いですが、出来れば「班」の付け方もご指導ください。
 

回答
投稿日時: 21/06/08 15:36:58
投稿者: んなっと

数式で対応したほうがいいですよ。
=IFERROR(LEFT(C2,FIND(" ",C2)-1)&"班","")
 
 
どうしても表示形式でやりたいときは
 
表示形式
ユーザー定義
G/標準;@"班"

投稿日時: 21/06/08 19:46:19
投稿者: 桃太郎7

んなっとさん 早速ご回答を頂きましてありがとうございました。
すべての難題がお陰様で解決出来ました。
 班の設定方法もご指導頂きまして数式で問題が解決出来ました。
 ありがとうございました。
  今後とも宜しくご指導ください。