• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データのない所の結果を空白にしたいです)

データのない所の結果を空白にする方法は?

shiren2の回答

  • shiren2
  • ベストアンサー率47% (139/295)
回答No.1

IFERRORでどうですかね。 IFERROR(OFFSET(hogehoge), "") みたいな感じです。

megumi199
質問者

お礼

ご連絡ありがとうございます。 元々の式の問題のようで、IFERROR構文にしてもまったく同じ問題が発生します。

関連するQ&A

  • この式はなぜエラー #VALUE! になるのだろう?

    この式はなぜエラー #VALUE! になるのだろう?   A  B  C  D 1    92 95 96 2 3  60 67 99 4  99 13 74 5  92 58 96 6  93 59 10 7  81 51 10 8  81 95 98 9  88 45  6 範囲 A3:C9 に上図のデータがあると仮定します。そして、 1行目の各セルに次の値を返したい、というのが問題です。 B1: セル A3、A5、A7 の最大値 C1: セル B4、B6、B8 の最大値 D1: セル C5、C7、C9 の最大値 1行目の各セルに次の配列数式を入力すれば希望通りの値が得られます。 B1: {=MAX(OFFSET($A3,0,0,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,1,1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,2,2,5,)*MOD(ROW(C1:C5),2))} OFFSET関数の引数 0、1、あるいは 2 のところは COLUMN関数で置き換えられるはずと考えて B1: {=MAX(OFFSET($A3,COLUMN(A1)-1,COLUMN(A1)-1,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,COLUMN(B1)-1,COLUMN(B1)-1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,COLUMN(C1)-1,COLUMN(C1)-1,5,)*MOD(ROW(C1:C5),2))} としたところ、いずれもエラー #VALUE! が返ってきます。 なぜエラーになるのか理解できません。どなたか私にアドバイスをいただけませんか? 参考までに申し上げると、http://okwave.jp/qa/q5897615.html の質問の回答を考えているときに、上の問題に遭遇しました。

  • 情報を入力すると反映されるシート【説明画像あり】

    図1の、【入力シート】の黄色セルに、任意の情報を入力すると ⇒【反映シート】図2のように情報が反映されます。 しかし、【反映シート】を図3のように、列幅を変更したフォーマットにすると 図2のように反映されません 図3の列幅にしても、反映されるようにするには、どのように関数を変更すれば良いでしょうか?? ご存知の方、いらっしゃいましたら、宜しくお願いします。 【関数説明】 ★図2のA10セルに下記の関数が入っています。  同関数を、A10から、右に、L10までオートフィルドラック。  さらに、下に、L14まで、オートフィルドラックします。 =IF(MOD(COLUMN(A1),4)=1,IF(INT(COLUMN(A1)/4)*5+ROW(A1)>入力シート!$B$35,"",INT(COLUMN(A1)/4)*5+ROW(A1)),IF(AND(MOD(COLUMN(A1),4)=2,OFFSET(A10,0,-1)<>""),TEXT(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-1)/4)*5+ROW(A1)-1,1),"e"),IF(AND(MOD(COLUMN(A1),4)=3,OFFSET(A10,0,-1)<>""),MONTH(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-2)/4)*5+ROW(A1)-1,1)),IF(AND(MOD(COLUMN(A1),4)=0,OFFSET(A10,0,-1)<>""),入力シート!$B$38+IF(OFFSET(A10,0,-1)=入力シート!$B$36,入力シート!$B$37,IF(OFFSET(A10,0,-1)=入力シート!$C$36,入力シート!$C$37,0)),"")))) ★★★上記関数は、教えてgoo回答者様にご教授いただきました★★★ ★B40には下記の関数が入っています。 =DATE(YEAR(B39&"1日"),MONTH(B39&"1日")+B35-1,25) ※図1と図2は、同じブック内にある、別のシートです。

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • エクセルの列 1行おきに色行けをしたい。

    Windows 7 Excel 2010 を使用しています。 エクセルのシートに、1行おきに色付けをするには、「=MOD(ROW()、2)」という関数がありますが、 A列・B列・・・・・・の1行おきの列に色付けをする関数がありましたら教えてください。

  • 別シートに任意のセルを転記する方法について

    縦に6行ずつのデータがあり、これを横1行の別シートに転記する際に、 以前こちらで回答頂いた方法を応用したいと考えています。 =IF(INDEX(Sheet1!$Z:$Z,(ROW(A1)-1)*6+COLUMN(A1))=0,"",INDEX(Sheet1!$Z:$Z,(ROW(A1)-1)*6+COLUMN(A1))) アドバイスのとおり、上記の数式で見事に横にデータが転記できました。社員1人につき6行ずつのデータが縦にならんでおり、これを別の社員1人あたり1行で横に並んだデータにしたいというものでした。 1人目のデータは1行目を1列目に、2行目を2列目に・・・2人目のデータである7行目を1列目に、8行目を2列目に・・・3人目は13行目を1列目に・・・となります。 しかし、順次並べるのではなく、転記の必要にないデータを含むシートの任意のセルを選び、別シートの任意のセルへ転記する必要が生じたため、悩んで路頭に迷っております。。。 例えば、6行ずつのデータのうち、いつも3行目を別シートの5列目に。4行目は転記せずに、5行目を6列目に。また、6行目を7列目に転記せずに10列目に転記する。(8・9列目は、別データを入力するため空白にしたい) そして、社員2人目である7行目からは、上記と同じ規則で転記したい。 などというように、選んで転記する方法は何かありますでしょうか?? =INDEX(Sheet1!$Z:$Z,(ROW(B2)-ROW($B$2))*6+IF(COLUMN()=4,MOD(COLUMN(B2)-1,6)+1,MOD(COLUMN(B2)-1,7))) のようにしても上手くいきません。 何卒宜しく御願いいたします。

  • エクセル:別のシートへ抽出したデータをリンクさせたい。

    QNo.2970713の質問内容についてなのですが、 次のようなシートがあります。(シートAとします。)     A    B    C  … [1] 001  AAA [2] 002  BBB  あああ [3] 003  CCC [4] 004  DDD   [5] 005  EEE  いいい C列の空欄データは除外して、C列にデータが記入されているものだけ別のシートに(シートB)に行ごとリンクさせたいと考えています。 (この場合だと2列と5列です。) シートAには今後もデータが追加される想定で、新しいデータで当てはまるものは自動的にシートBに反映されるようにさせたいです。 この回答の中で、 ★SheetBに =IF(ROW(A1)>COUNTA(SheetA!$C:$C),"",INDEX(SheetA!A:A,SMALL(INDEX(SUBSTITUTE((SheetA!$C$1:$C$10<>"")*1,0,10^5)*ROW(SheetA!$C$1:$C$10),),ROW(A1)))) ★右と下にコピー あるのですが、C列がvlookuo等の数式が入っていると、#REF!となってしまします。 この#REF!を表示させない方法を教えて下さい。

  • Excel 空白セルを詰めて表示する方法

    <sheet1>にある表をオートフィルタを使用せず,関数で<sheet2>のように空白を詰めた状態にしたいと思っています。 <sheet1>    A    B   C 1 100 -100 2 100 -100 3 -200 100 100 4 5 <sheet2>    A    B   C 1 100 -100 -100 2 -200 100 100 3 100 4 以前に似た質問があり,それを参考にやってみたのですがどうもうまくいきませんでした。文字列と数値では式も変わるものなのでしょうか?参考にした例もあげておきます ------以下,参考にした例------ <図1>     A     B 1   あいう 2         えお 3   かきく 4         けこ 5   さしす <図2>各行の空白セルを詰めて表示させる     A     B     10  あいう   えお 11  かきく   けこ 12  さしす 13 14 【関数】 A10: =IF(ROW(A1)>COUNTA(A$1:A$5),"",INDEX(A$1:A$5,SMALL(IF(A$1:A$5<>"",ROW($A$1:$A$5),""),ROW(A1))))

  • 縦書きの表を以下のようにするには?

      A   B  C   D   E  F  G 1期日 場所 番号 数量 合計 23/1   A  7   20  60 33/2   A  8   30  80 43/3   B  9   45  75 53/4   D  5   15  90  のような形の表を  期日 3/1 3/2 3/3 3/4  場所  A  A  B  D  番号 7  8  9  5  数量 20 30 45 15  合計 60 80 75 90 と書き換えたり、別シート表示させたりする場合には『型式を選択→行列を入替貼付』またはTRANSUPOSE関数を使用するのは知っています。検索行列関数で表示するにはどうすればいいでしょうか?  関数式で元シートに表示させる場合は、INDIRECT,ADRESS,OFFSET,INDEX,INT,MOD,ROW,COLUMN関数を使い、数値を+-したりします。  個々の1つ1つの関数は『こう使う』というのは何となく分かるのですが、これらが幾重にも複合ネストされると『何でこのセルがこの位置に移って表示されるのか理屈が分かりません。  以前、似たような質問で回答いただき、目的は果たせましたが、未だに何故そうなるのか理解できておりません。  縦→横に入替え、またはその逆の表示をさせたい場合、これらの関数は必ず出てきます。  上記の元の表にE列に合計を表示してますが、F列以降にデーターが増加すると  下の配列表示にするにはINT,MOD,ROW,COLUMN関数のどこの数値を増減するのか相互関係が分かりません。  参考書を買い、独学で学習していますが、難しいです。皆さんはどのようにして覚えられたのか、お聞きしたいです。  やはりPCスクールに行かないと無理なんでしょうか?この辺の関数を理解できそうなサイトをご存知だったら教えていただけないでしょうか?  私はINDIRECT,ADRESS,OFFSET,INDEX,INT,MOD,ROW,COLUMN関数等を凄く苦手にしています。  

  • 「エクセルでデータのある行だけを他のシートに抽出する」を参考にしたのですが・・・

    下記過去の質問・回答を見つけ私も参考にさせて頂きましたが手詰まって困っています。 http://okwave.jp/qa943364.html なおこの質問の数式・例は全て過去質問の回答者:imogasiの回答を参考にさせて頂きました。 やりたい事→データを抽出する場所(A1をA3/B1をB3)を変更したいのです。 現状は(例データ)Sheet2のA1:B9(C列は関数式を入れた結果) A  B C 210 伊藤 1 211 山田 2 212 0 2 214 2 216 近藤 3 217 鈴木 4 219 0 4 220 4 221 大田 5 Sheets2の C1に=IF(A1="","",COUNTA($B$1:B1)-COUNTIF($B$1:B1,0))がはいり下にコピーしてます。 抽出するSheets3の A1に=IF(ROW()>MAX(Sheet2!C:C),"",OFFSET(Sheet2!$A$1,MATCH(ROW(),Sheet2!$C$1:$C$30,0)-1,0)) B1に=IF(ROW()>MAX(Sheet2!C:C),"",OFFSET(Sheet2!$A$1,MATCH(ROW(),Sheet2!$C$1:$C$30,0)-1,1)) 上記でうまくデータを抽出できるのですが、抽出する場所をA1及びB1を変更するとうまく抽出できません。 抽出場所をA3及びB3にする為にはどのような工夫が必要になるのでしょうか?

  • エクセル SUMPRODUCT と OFFSET

    いつもお世話になります。 SUMPRODUCT関数で集計したいのですが、OFFSET関数を組合せてA1に関数を入力し、右にひっぱるだけで36ヶ月分を集計したいと思い、下記の計算式を入力したのですが#VALUE!になり困ってます。 A1=SUMPRODUCT((OFFSET(data!$A$1,1,COLUMN(A1)*3-3,99,1)=$G$1)*(OFFSET(data!$B$1,1,COLUMN(A1)*3-3,99,1)=$H$1),(OFFSET(data!$C$1,1,COLUMN(A1)*3-3,99,1))) dataシートには、A列:商品CD、 B列:営業所CD、 C列:売上金額 の3列のデータが、36か月分108列あります。 集計するシートのG1に商品CDを、H1に営業所CDを入力すると、A1~A36に集計結果を返したいのですが、教えてくださいませんか