話がややこしいかと思うのですが、宜しくお願いします。
以前に、「楽天みんなで解決」のビジネス&キャリアで質問させていただいたことに大して再び質問させていただきたいのです・・。
どうかお力を・・・!!
以前はこんな質問を致しました。
ーーーーーーーーーーーー
エクセルについての質問です。
A B C
1 ○ 佐藤 ■
2 × 鈴木
3 ○ 後藤
4 △ 近藤
5 △ 小林
6 × 大山
7 △ 大林
8 × 小山
9 ○ 松田
のようなデータがあります。
この中で、■(つまり、C1セル)に、「○」の行にある、B列の文字を返したいのですが、■(つまり、C1セル)に
=VLOOKUP("○",$A$1:$B$9,2)
と入力し、C10セルまでコピーしても、うまく反映されません。
私がほしい結果としては、
○ △ ×
佐藤 近藤 鈴木
後藤 小林 大山
松田 大林 小山
という具合に抽出したいのです。
ーーーーーーーーーーー
この質問にたいする回答といたしまして、
==========
一例です。
データをSheet1、Sheet2の1行目に記号があるとします。
Sheet2のA2に次の数式を入力して、縦横にコピーして下さい。
尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
=IF(COUNTIF(Sheet1!$A:$A,A$1)>ROW(A1)-1,INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$100=A$1,ROW(Sheet1!$A$1:$A$100),99999),ROW(A1))),"")
==========
という回答を頂きました。
一度はこれで解決したのですが、今回また問題が発生してしまったのです。
「○」や「△」の記号や「定価」といった文字ではうまくいくのですが、【#DIV/0!】というエラー値が一個でも入ると、とたんにうまく反映されなくなるのです。
例:前述のデータ表に沿うとします。以下のようにA5セルにエラーが入ると、とたんに全部#DIV/0!となってしまいます。
A B
1 ○ 佐藤
2 × 鈴木
3 ○ 後藤
4 △ 近藤
5 #DIV/0! 小林
6 × 大山
7 △ 大林
8 × 小山
9 ○ 松田
<抽出後>
○ △ ×
#DIV/0! #DIV/0! #DIV/0!
#DIV/0! #DIV/0! #DIV/0!
#DIV/0! #DIV/0! #DIV/0!
大変困っております・・・。
自分で解決しようものにも、数式の意味が解読できませんでした。。配列数式とはなんぞや、括弧がたくさんあって意味がよくわからず・・。
解決方法をどなたかご教授を!!
ついでに、なぜこのような現象がおきてしまうのか、できたら教えていただきたいです・・。
No.1
- 回答日時:
それが複雑怪奇な関数を駆使した数式だろうと、単純明快な四則演
算だろうと、エラー値を喰わせちゃえばエラーしか返りません。
エラー足す5なんて誰にも計算できないんだから。
というわけで、前回教えてもらったという難しい数式は全然関係な
くて、A列にエラー値が出てくることが一番問題です。割り算の分母
がゼロになってるから#DIV/0!って言われちゃうんで、分母がゼロに
なりそうなら割り算しないで×にするとか空白にするとか対策を考
えて下さい。
ご丁寧にありがとうございます。
「エラー値」の意味するところを考えていなかったと思います。反省ですね。(エラー値=0、という感覚だったのかもしれません)
対策を考えます。ありがとうございました。
No.2
- 回答日時:
> ついでに、なぜこのような現象がおきてしまうのか、できたら教えて
> いただきたいです・・。
既に理解できていない状態では 何を説明しても半端な理解しかできな
いでしょう。せっかく教えてもらった数式すら理解しないまま「解読で
きませんでした」で済ませてしまう人が それでエラーが起きる理由だ
け 別の人から教えてもらおうとうのは無理な相談です。
理解できなくてもいい人用の数式なら提示できます。
=INDEX(B:B,100-LARGE(INDEX(ISNUMBER(1/(A$1:A$100="○"))*100
-ROW($1:$100),0),ROW(A1)))&""
Enter確定で 下方向にオートフィルコピー
ただこんな式を利用するのは止めた方がいいです。
このような数式を作ってしまったら誰かにも引継ぎできなくなりますよ?
作業列を使って計算すれば こんな複雑怪奇な計算は必要ありません。
■C1セル
=IF(ISERROR(A1),"",IF(A1="","",A1&COUNTIF(A$1:A1,A1)))
下方向にオートフィルコピー
この列を使えば VLOOKUP関数だけで全部求りますね?
無理な相談、だったのでしょうか。
もし仮に、私の知識で他の人が助かるなら、私は他人を助けますけど…。
言葉が過ぎましたね。申し訳ございません。
ただ私は、「知りたい」と思ったことを質問したに過ぎなかったのですけれども。
とにもかくにも、数式の理解に難しいと感じる私のために、簡易な数式を教えてくださってありがとうございます。
今後ますます、自分の知識・理解を深めていこうと思います。
No.3ベストアンサー
- 回答日時:
前回に数式を提供した者です。
>自分で解決しようものにも、数式の意味が解読できませんでした。
⇒関数エラー)が発生している状態では正常に処理ができないのはこの数式に限りません。
一般的にエラーの元を断つ対応が肝要かと思いますが如何でしょうか。
一例です。
=IF(ISERROR(数式),"",数式)
この回答への補足
再び、ありがとうございます!!
エラー値に対する関数の存在を知りませんでした!
なるほど。そのようにすればいいのですね!助かりました。。!!
No.4
- 回答日時:
配列数式では、内部処理ロジックとして、各行につき1行ずつ指定した処理を、行数分処理して(x)、行数分を足し算するものが多いが、Xの段階で1つでもエラーが起こるデータの有様だと、配列数式全体が使い物にならない(エラーが返る)
こういうことに出くわしているのではないのですか。
このケースではエラー値が対象になっているようだが、これも配列数式に限らず、普通の関数でも個別にチェックすべき問題と思う。
関数の結果でエラー値が出るなら、出ないように式を組み変える(
0で割り算なら、除数が0かどうか聞いて、0の場合は一律空白にするとか)必要があるでしょう。
配列数式について、というかそもそもこの式についての理解が浅すぎて、原因が特定できず、
>配列数式では、内部処理ロジックとして、各行につき1行ずつ指定した処理を、行数分処理して(x)、行数分を足し算するものが多いが、Xの段階で1つでもエラーが起こるデータの有様だと、配列数式全体が使い物にならない(エラーが返る)
ということが分からないでいました。
なるほど。そういうことなんですね。
私の感覚では、「なぜデータに一個のエラー値があるだけで、全部だめになってしまうのだろう」と激しく疑問に思ったのです。
エラー値が出ないようにする、という方法をきちんととることにします。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報