電子書籍の厳選無料作品が豊富!

いつもお世話になっております。

B列からI列まで、拠点、部署、担当者、計画、実績、達成率、達成額という項目があり
別ファイルから数字をVLOOKUPで抽出して表示しております。

それを並べ替えしようとすると、0(ゼロ)が入ったり
正しく並べ替えができません。

いろいろと調べたのですがわからず。。。改善方法をご教授願います。

質問者からの補足コメント

  • うーん・・・

    こんにちわ。

    説明不足で申し訳ございません。

    下記数式が入っております。

    =IFERROR(VLOOKUP($A5,'サーバー名[★順位表.xlsm]売上表'!$EG$5:$EN$63,5,0),0)

    また、その抽出したデータで違う部署で同じ人が売上計上する為
    重複を合算するという作業列が提示した列の右側にあります。
    作業列がL列からO列まであり、項目の並びは質問した項目と同様です。

    作業列の数式は下記の通りです。
    こちらも並べ替えできない原因になっておりますでしょうか?

    =IFERROR(IF(COUNTIF(K$5:K5,K5)=1,SUMIF(K:K,K5,F:F),0),0)

    何卒ご教授願います。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/06/06 15:35
  • 下記にて一度質問させていただいておりまして
    レイアウトはこちらに提示している画像になります。
    http://oshiete.goo.ne.jp/qa/11124818.html

    ただ、こちらは各月を足した第一、二、三、四半期、上下半期、年間だけの並べ替えはできたのですが、各月のVLOOKUPで参照している数式だと正しく並べ替えできず、今回追加で質問させていただきました。

    No.4の回答に寄せられた補足コメントです。 補足日時:2019/06/08 08:10

A 回答 (5件)

頂いた情報を元に検討しました。


A列を固定のままブロックごとに並べ替えを行うためO列の関数は恐らく正しいのでしょうが、その参照元のK列の関数が相対参照になっています。
O列:=IFERROR(IF(COUNTIF(K$5:K5,K5)=1,SUMIF(K:K,K5,F:F),0),0)
に対し
K列:=IFERROR(VLOOKUP($A5,'サーバー名[★順位表.xlsm]売上表'!$EG$5:$EN$63,5,0),0)
であれば「$A5」は「$A$5」でなければ並べ替えた際にデータが崩れます
ただこの場合に6行目以降の関数も全て絶対参照でなければならないためフィルコピーが出来ません。恐らくE列も同様だと考えますが...
同様の操作で私は一旦相対参照でフィルした後絶対参照に置換するといった手順を踏んでいますが、もしかしたら簡単にできる方法があるのかもしれません。あるのなら・・・私も知りたい☆w
    • good
    • 1
この回答へのお礼

こんにちわ。

ご返信が遅くなり、申し訳ありません。

>A列を固定のままブロックごとに並べ替えを行うためO列の関数は恐らく正>しいのでしょうが、その参照元のK列の関数が相対参照になっています。
→仰る通りです。他の列も同様なので、崩れるのですね。。
私が最初から並べ替えのことを考えて作成していれば問題なかったのですが取り急ぎ他の方にご教授頂いた内容で対応させて頂きました。
この度は親身にご教授、アドバイス頂きましてありがとうございます。

お礼日時:2019/06/10 11:48

気になる点がいくつかありますので質問です


①A列には連番か何かが入っていますか?LOOKUPの参照元がA列になっています
②参照先はEG~ENとなっていますが、参照列が5ということはEK列を参照するということですか?
③O~Lまでの4列には同じ関数が入っているのでしょうか?想像通りCOUNTIFとSUMIFの中に絶対参照と相対参照が混在しているため正確な情報が頂きたいです
④上記を踏まえたうえで『並べ替えを行う』とはどの列で並べ替えるのでしょうか
以上です
この回答への補足あり
    • good
    • 1
この回答へのお礼

ご返信が遅くなり申し訳ありません。

下記、ご質問に回答させていただきます。

①A列には連番か何かが入っていますか?LOOKUPの参照元がA列になっています
→はい、順位が入っています。

②参照先はEG~ENとなっていますが、参照列が5ということはEK列を参照するということですか?
③O~Lまでの4列には同じ関数が入っているのでしょうか?想像通りCOUNTIFとSUMIFの中に絶対参照と相対参照が混在しているため正確な情報が頂きたいです
→OからLまでは参照先のEGからENを参照しておりますので
仰って頂いたご認識で間違えございません。
詳細な数式は週明けまた補足にて記載させていただきます。

④上記を踏まえたうえで『並べ替えを行う』とはどの列で並べ替えるのでしょうか
→O列で並べ替えしたいです。

よろしくお願いいたします。

お礼日時:2019/06/08 08:11

No2です



>計算の連動を切ると支障がありまして。。。
元データは残っているので、問題ないのではと推測したのですが・・・

それでは・・・
1)別シートに単純参照で、元の表のコピーを作成する
 例えばA1セルには「 =元シート!A1 」といった具合で、これを表の範囲にフィルコピー
2)1)の表を並べ替え
 参照関係は保ったままなので、元のデータと連動した値になっているはずです。


※ 本来なら、元の関数式を並べ替えに対応できるような式にしておくのが望ましいとは思いますが、式にもよりますし、ここでのやり取りで正しく伝わるかという問題も大きいので、対処法的な回答に走りました。
    • good
    • 1
この回答へのお礼

おはようございます。

いつもご教授頂きましてありがとうございます。

今回、すぐに対応しなければいけなかった為
下記ご教授頂いた内容で対応させていただきました。
大変助かりました。

1)別シートに単純参照で、元の表のコピーを作成する
 例えばA1セルには「 =元シート!A1 」といった具合で、これを表の範囲にフィルコピー
2)1)の表を並べ替え
 参照関係は保ったままなので、元のデータと連動した値になっているはずです。

>※ 本来なら、元の関数式を並べ替えに対応できるような式にしておくのが望ましいとは思いますが、式にもよりますし〜
→ちなみにどのような関数を加えると最初から正しく並び変えで表示できますでしょうか?
下記に数式を記載させていただきますので、もし可能でしたら例としてご教授頂けますと幸いです。

・拠点、部署、担当者、計画、実績の式
データ参照先からデータ抽出する式
=IFERROR(VLOOKUP($A5,'サーバー名[★順位表.xlsm]売上表'!$EG$5:$EN$63,5,0),0)

・拠点、部署、担当者、計画、実績の式(作業列)
データ抽出したあと、支店をまたいでいる人がいるのでその人に振分けた番号が重複していたら合算する式=IFERROR(IF(COUNTIF(K$5:K5,K5)=1,SUMIF(K:K,K5,F:F),0),0)

何度も申し訳ありませんが、よろしくお願いいたします。

お礼日時:2019/06/08 08:28

こんにちは



計算の連動を一時的に切ってもよければ・・

1)表全体をコピー
2)別シートへ「値をペースト」で、結果の値としてペースト
3)2)で作成した表を用いて並べ替えを行う

このようにすることで、内容が変わることはなくなると思います。
    • good
    • 1
この回答へのお礼

うーん・・・

こんにちわ。

いつもご教授頂きましてありがとうございます。

計算の連動を切ると支障がありまして。。。
それ以外で何か方法はありますでしょうか?

お礼日時:2019/06/06 15:42

入力されている関数(VLOOKUP)を記載してください


恐らく絶対参照と相対参照が混在しているもとの思われますが、文章だけでは助言が出来ません
この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています