[[20170611133913]] 『IFERRORとIFについて0と表示は?』(ハチミツ422) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IFERRORとIFについて0と表示は?』(ハチミツ422)

初めまして。
毎日計算式のことで頭が一杯です。。^^;

下記の表にて、A列に式を入れて
=IF(C2=B2,B2,IFERROR(C1,””))

1 A B  C
2 0  1  A
3 2  2  A
4 3  3  A
5   4  エラー

とA列に連番を入れ、エラーを回避しようとしたら0が表示されるのは、どうしてでしょうか?
ちなみに、=IF(ISERROR(C2),””,B2とすると
ちゃんと連番が表記されます。

上記の0表示は、NGということでしょうか??

< 使用 Excel:Excel2013、使用 OS:Windows7 >


[[20170611145051]] 『sumifで表記させた合計数をカウントさせたい』(ハチミツ422)
 これと同じ内容ですか?
(稲葉) 2017/06/11(日) 15:16

稲葉様コメント頂きありがとうございます。
内容は、違います。
(ハチミツ422) 2017/06/11(日) 19:29

 >IFERROR(C1,””)

 おそらくは空欄であろうC1を参照しているからでは?
(コナミ) 2017/06/11(日) 19:36

 何がしたいのかわかりません。

 >=IF(C2=B2,B2,IFERROR(C1,””)) 

 この式がA2に入ってるんですか?
 それで本当に例示の表の結果になりますか?

 ・A列にどんな連番をつけたいのか、具体的に説明してください。
 ・C列には数式が入ってるんですか?
  C5はどんなエラーなのか、またC列の数式を提示してください。

 数式を提示するときは、手入力せずにExcelからコピーして
 貼り付けてください。
(笑) 2017/06/11(日) 20:54

(笑)様
細かなご指導ありがとうございます。
自分の頭で細かく分析そして、答えるができていないかもです。。

・A列には、1,2,3・・と式で連番を表示させたい。

・B列の1,2,3は、検索値です。
 
・(sheet1のA列に=IF(B3=B4,"",B4)と連番表記させています。
B列は、1,1,1,2,3。)

C列に、=VLOOKUP(B1,Sheet1!$B$1:$C$1,2,0)です。
(ハチミツ422) 2017/06/11(日) 21:11


 >A列には、1,2,3・・と式で連番を表示させたい。 

 B列・C列の値とは全く関係がない、単なる連番ということ?

 >(sheet1のA列に=IF(B3=B4,"",B4)と連番表記させています。 

 Sheet1のA列はこの質問と何か関係がありますか?

 >C列に、=VLOOKUP(B1,Sheet1!$B$1:$C$1,2,0)です。

 これはC1の式?
 Sheet1!$B$1:$C$1 ←「$C$1」なんてことないと思いますけど、そこは無視して。
             ~~~~
 C列のエラーを回避するのはマズイんですか?

 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")
                                    ~~~~~
                                      ↑ テキトー

 それとSheet1のC列には具体的にどんな値が入ってるんですか?

 以上、確認だけ(肝心のA列の連番が何の連番なのか、全く理解できてません)
(笑) 2017/06/11(日) 21:47

(笑)様 度々のご回答をありがとうございます!

 >B列・C列の値とは全く関係がない、単なる連番ということ?

A列は、唯の連番です。

 >Sheet1のA列はこの質問と何か関係がありますか?

計算式の中の計算式という意味になります。意味はなくなるのかな・・・

>これはC1の式?

 Sheet1!$B$1:$C$1 ←「$C$1」なんてことないと思いますけど、そこは無視して。

c1の式です。

> C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")

これですと、A列に連番できなくなってしまいます??
C列のエラーを回避して、A列に連番を振りたいです。
ちなみに、C列に条件付書式を入れて、エラーの場合は白地にしています。

>それとSheet1のC列には具体的にどんな値が入ってるんですか?
C列の説明が入っていなかったですね!申し訳ないです。。。
C列には、A、A、B、C、Dと入っています。

宜しくお願いします。

(ハチミツ422) 2017/06/11(日) 22:14


 >A列は、唯の連番です。

 だったら、データの開始が1行目からなのか、2行目からなのかわかりませんけど、

 1行目からなら
 A1 =IF(B1="","",ROW())

 2行目からなら
 A2 =IF(B2="","",ROW()-1)

 下へコピー

 これではダメなんですか?
 ダメならどんな場合にダメなのか、具体的に書いてください。
(笑) 2017/06/11(日) 22:27

開始は、1行目からです。

 1行目からなら
 A1 =IF(B1="","",ROW())

 2行目からなら
 A2 =IF(B2="","",ROW()-1)
これをすると同じ数字がA列に並びます??これをすると連番になりますか??
A列 1,1,となります。何か間違っていますかね・・・

A列に、連番を振りたいのです。
(ハチミツ422) 2017/06/11(日) 23:00


 >これをすると連番になりますか??

 なります。

 >開始は、1行目からです。 
 >A列 1,1,となります。何か間違っていますかね・・・

 1行目からなら  A1 =IF(B1="","",ROW())
 この式を下にコピーです。

 ↓ は開始が2行目からの場合。この式を入れてはいけません。
 A2 =IF(B2="","",ROW()-1)

 ところでC1セルからVLOOKUPの式が入っていて、その式がアルファベットを返すのなら、
 最初の質問で「0」が表示されるなんてことはないと思いますけどね。
(笑) 2017/06/11(日) 23:23

(笑)様ご回答を頂きありがとうございます!!
見事にこのIFとROW関数でできました!

最初にご質問させていただきました=IF(C2=B2,B2,IFERROR(C1,””))
のIFERRORの値は、C1ではなくB1であれば連番になりましたがエラーは、空白にならなかったかったです。
(ハチミツ422) 2017/06/11(日) 23:35


 本当にそれで解決したんですか?
 正直言って意外です。

 >B1であれば連番になりました

 ということはB列は連番?
 だったら ↓ でもいいってこと?

 A1 =IF(B1="","",B1)

 というか、A列の連番て必要ですか?

 C列は条件付き書式を使わなくても ↓ でいいと思いますけど。
 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")

 参考まで
(笑) 2017/06/11(日) 23:52

(笑)様ご回答を頂きありがとうございます!

確かに、当初の質問から少しずれてきたかもです・・・^^;

B列は、C列のVROOKUPの検索値とする為に
連番がいるかと思います。

Sheet1にも連番を振ったデータがある為。

A列のみの連番で生かせたらB列は、要らないです。

A列は、C列でVROOKUPで表示させたデータを元に連番を振りたいです。
しかし、 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")

とすると、A列に連番がないところには、0と表記されます。
尚且つ、A列にエラーがでます。

お手間掛けて申し訳ないです。
宜しくお願いします。_ _


 投稿は下にあるコメント欄から書いてください。
 すでにある内容に編集で追記はしないようにお願いします。
 読みにくいのでコナミが編集で分けました。

 コメントフォームが使えないとかではないですよね?

(コナミ) 2017/06/12(月) 09:58


 何がしたいのか、いまだによくわかってません。

 >A列は、C列でVROOKUPで表示させたデータを元に連番を振りたいです。 

 これから想像するに ↓ なこと?(A列)

	A	B	C
1	1	1	A 
2	2	2	B
3	3	3	C
4		4	
5	4	5	E
6		6	
7	5	7	G
8			

 だったら

 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")
 ※Sheet1の範囲は実際のものに合わせること

 A1 =IF(C1="","",COUNTIF($C$1:C1,"?*"))

 A1とC1を下にオートフィルでコピー

 こんなことではないのなら、上のような表形式で、
 こういうふうにしたい、という具体例を挙げてください。

 >A列のみの連番で生かせたらB列は、要らないです。 

 >しかし、 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"") 
 >とすると、A列に連番がないところには、0と表記されます。 
 >尚且つ、A列にエラーがでます。

 ↑ のどちらも意味がわかりません。
 下の方ですけど、どのセルに「0」が表示されて、A列にはどんな式が入っていて、どんなエラーになるんですか?

 こっちが想像する余地がないくらい具体的に書いてください。
(笑) 2017/06/12(月) 10:26

コナミ様 ご支持ありがとうございます。
コメント欄に記入した後、コメントプレビューのところを更に下の編集をおしていました。。

今度からはこちらでコメントします。
宜しくお願いします。
(はちみつ422) 2017/06/12(月) 10:43


(笑)様コメント頂きありがとうございます。

承知しました。
これでもかというくらい説明させて頂きます。
自分でやっててA列の式が空欄になってきてしまいました。。。
↓(””)
A              B  C
1←(=IF(C1=B1,B1,"") 1   A  ←(=VLOOKUP(B1,Sheet1!$B$1:$D$14,2,0)
2     ”        2   A
3     ”        3   A
4     ”        4   #N/A 
5     ”        5   #N/A 

Sheet1

A              B                    C  D
1←(=IF(B1=B2,"",B2)) 2←(=COUNTIF($C1:C$2,$C$1)) A  11
0←(=IF(B2=B3,"",B3)) 1←(=COUNTIF($C$2:C2,$C$1)) A  1
0    ”         1   ”                B  1     
 0    ”         1   ”               C  1111
0    ”         1   ”                D  1   
0    ”         1   ”                E  1
0    ”         1   ”                F  1
0    ”         1   ”                G  1
0    ”         1   ”                H  1
2    ”         1   ”                I  11
3    ”         2   ”                A  11
0    ”         3   ”                A  1 
   
そもそもA列に、=IFERROR(C1,"")とすると
どうして上手くいかないんですかね??

(ハチミツ422) 2017/06/12(月) 11:16


 >C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")
 >※Sheet1の範囲は実際のものに合わせること
 >A1 =IF(C1="","",COUNTIF($C$1:C1,"?*"))
 >A1とC1を下にオートフィルでコピー

 ↑ は試してくれたんですか?

 やりたいことはこんなことではない、ということ?
 まずはこれに答えてください。

 ついでに書いておきますが、C列はエラーが出たままだとして
 もしかして ↓ なこと?

 A1 =IF(B1="","",IF(ISNA(C1),"",B1))

 Sheet1も何がしたいのかわかりません。
 Sheet1のB列は意図した通りになってるんですか?

 とりあえず以上です。
(笑) 2017/06/12(月) 13:30

(笑)様ご回答を頂き誠にありがとうございます。

>A1 =IF(C1="","",COUNTIF($C$1:C1,"?*"))
をすると、表記がA列が0になりました。

 >A1 =IF(B1="","",IF(ISNA(C1),"",B1))思ってる一歩手間に来ました!

A                        B  C
A1 =IF(C1="","",COUNTIF($C$1:C1,"?*"))1 A(C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"")
2     ”                  2   A
3     ”                  3   A
4     ”                  4   #N/A 
5     ”                  5   #N/A 

とすると、Sheet1がないとC列の式を組み込めないですよね?

この表だとデータ自体は、C列の1〜3行目までなので、A列の連番も本当は1〜3行目迄表記させたいのです。
C列の4行目にエラーが出てるからA列の4、5行目も出ないようにしたいんです。。
(ハチミツ422) 2017/06/12(月) 13:57


 >>A1 =IF(C1="","",COUNTIF($C$1:C1,"?*")) 
 >をすると、表記がA列が0になりました。 

 そんなわけないんですけど、とりあえずその式は横に置いといてください。

 >>A1 =IF(B1="","",IF(ISNA(C1),"",B1))
 >思ってる一歩手間に来ました!

 あと一歩、何が足りないんですかね?
 こういう場合にこうなってしまう、という具体例を書いてくれないとわかりませんよ。

 念のため書いておくと、

 ■C1が =VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0) の場合
  A1 =IF(B1="","",IF(ISNA(C1),"",B1))
  または
  A1 =IF(ISNA(C1),"",B1) でもいいかも

 ■C1が =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0),"") の場合
  A1 =IF(C1="","",B1)

 ※VLOOKUPのSheet1の範囲は実際の表に合わせること

 >しかし、 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$10,2,0),"") 
 >とすると、A列に連番がないところには、0と表記されます。 

 C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0)&"","")
                                               ~~~
                                                ↑
 C1 =VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0)&""
                                       ~~~~
                                        ↑
 波線部に「&""」をつけておいた方がいいかも。

 それとSheet1が提示の状態なら、VLOOKUP はすべて「A」を返すと思いますけど、
 それでいいんですよね?
(笑) 2017/06/12(月) 16:01

(笑)様 度々のご回答誠にありがとうございます。
また頭固くて本当申し訳ありません。。

下記表記のC列の4,5行目エラーの場合、A列の4,5行目を表示させないようにしたいです。
C列にデータがある分のみA列に連番をつけたいです。

A                     B   C
1 1 
2                      2   A
3                      3   A
4                      4   #N/A 
5                      5   #N/A

>C1 =IFERROR(VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0)&"","")の

&”は、どういった意味がありますか?(ネットで調べてみましたがでてきませんでした。)

>それとSheet1が提示の状態なら、VLOOKUP はすべて「A」を返すと思いますけど

VROOKUPの検索値をAにするということでしょうか?
そうすると、循環参照にひっかっかってしまいました。。

何度も何度も本当に申し訳ありません。
(ハチミツ422) 2017/06/12(月) 16:29


 ↓ 最初の質問を読み返すと、
 >ちなみに、=IF(ISERROR(C2),””,B2とすると 
 >ちゃんと連番が表記されます。 

 =IF(ISNA(C1),"",B1)
 =IF(ISERROR(C2),"",B2)

 この2つ、同じことですね。
 ちゃんと連番が表示されるのなら、なぜそれではダメなんですか?

 なんかとてつもなくムダなやりとりをしてきたような気がしてなりません。

 一応お聞きしますが、
 
>	A	B	C
>1	1	1	
>2	2	2	A
>3	3	3	A
>4	4	4	#N/A
>5	5	5	#N/A

 ・なぜC1が空白なんですか?
 ・C1が =IFERROR(VLOOKUP(・・・ の式なら、C4、C5が #N/A にはならないと思いますけど?

 >VROOKUPの検索値をAにするということでしょうか?

 VLOOKUPの検索値が「1」でも「2」でも、返ってくるのは「A」ばかり、ということ。

 ついでに ↓ の質問の件ですけど、
[[20170611154720]] 『料金表の追加の求め方』(火の国)

 #N/A になるとき、A2とB2には何が入力されてるんですか?

 ひとまず以上です。
(笑) 2017/06/12(月) 16:59

(笑)様 度々のご回答誠にありがとうございます。

 =IF(ISNA(C1),"",B1)
 =IF(ISERROR(C2),"",B2)

連番表記には、この2通りあるということが判りました。

申し訳ありません。先ほど表記させて頂いた表、一文字抜けていました。

 	A	B	C
1	1	1	A
2	2	2	A
3	3	3	A
4	4	4	#N/A
5	5	5	#N/A

>VLOOKUPの検索値が「1」でも「2」でも、返ってくるのは「A」ばかり、ということ。
確かに、返ってくるのは「A」ですね。

(ハチミツ422) 2017/06/12(月) 17:17


(笑)様 度々のご回答を誠にありがとうございます。

[[20170611154720]] 『料金表の追加の求め方』(火の国)より

   A     B    C     D   E
1 地域   重量  特殊  1個料金     
2 県内    2kg       #N/A
3
4
5
6
7
8  重量   県内 東海   関西    関東
9  2kg    600   630   700   750
10 5kg    650   680   780   850
11 10kg   680   750   800   880
12 15kg   750   780   850   900

D1=INDEX($B$9:$E$12,MATCH(B2,$A$9:$A$12,0),MATCH(A2,$B$8:$E$8,0))

と計算式いれました。
(ハチミツ422) 2017/06/12(月) 17:30


 ↑ やってみましたが、こっちでは「600」になりますよ?

 >10 5kg
 >11 10kg
 >12 15kg

 A10:A12の数字が全角になってますけど、もし検索値のB2が半角の数字なら #N/A になります。

 半角なら半角で統一しましょう。
 あるいはB2は入力規則のリストから選ぶか、
 入力するのは数字だけにするか(「kg」を表示させたいのなら表示形式で) →  B2だけではなく、A9:A12も。

 ところで元の質問ですが、#N/A が表示されてるということは、
 C1は =VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0)&"" なんですか?

 だったら、
 A1 =IF(ISNA(C1),"",B1) で、連番の件は解決、ということでいいですか?
 もちろん A1 =IF(ISERROR(C1),"",B1) でもいいですけど。

 >&”は、どういった意味がありますか?

 例えばA1セルに「あ」と入力し、B1セルに =A1 という式を入れると、
 当然B1セルには「あ」と表示されます。

 A1セルの「あ」を消去して、何も入力されてない状態にすると
 B1セルには「0」が表示されます。

 B1の式を =A1&"" とすると、A1が未入力の場合の「0」が表示されません(何も表示されない)

 ただし、&"" をつけると数値の場合は「文字列の数字」になってしまうので、
 入力値が数値の場合はやめておいた方がいいでしょう。

 参考まで。
(笑) 2017/06/12(月) 17:56

(笑)様 度々のご回答誠にありがとうございます。

「料金表の追加の求め」よりもう一度同じようにチャンレンジしてみましたが、やはり、(#N/A )と
出てしまいました。コメント欄に、エクセルから式を貼り付ける際、あちらこちら手修正をした為、色々全角で表示させてしまいました。
時間を置いてまたチャンレジしてみます!

> C1は =VLOOKUP(B1,Sheet1!$B$1:$C$100,2,0)&""

で完成しました。永い間ご指導頂き本当にありがとうございます。

>B1の式を =A1&"" とすると、A1が未入力の場合の「0」が表示されません(何も表示されない)

こんな意味があったのですね。すごいですね。

エクセルとは、計算式とはとても奥が深くて、すごく楽しいですね。
こんなルールに乗っ取って骨組みを覚えてイメージして、本当難しいけどすごいです。
私にとって、エクセルは永遠のテーマです。
本当にご丁寧に懇切指導ありがとうございました。

(ハチミツ422) 2017/06/12(月) 21:08


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.