• 締切済み

TRANSPOSE関数について質問します

お世話になります 現在シート間の横表を別シートに転記し記号をカウントするように関数を入れましたが 空セルもカウントしてしまいます。 どうかご教授願いますようよろしくお願い致します。 seet2 C3,E3,G3,I3,K3,M3,O3,Q3 C3:{=TRANSPOSE(seet1!CT38:DX38)} D3:{=TRANSPOSE(seet1!CT39:DX39)} ・ ・ ・ D3:=IF(C3="","",COUNTIF(C3,"◎")+COUNTIF(E3,"◎")+COUNTIF(G3,"◎")+COUNTIF(I3,"◎")+COUNTIF(K3,"◎")+COUNTIF(M3,"◎")+COUNTIF(O3,"◎")+COUNTIF(Q3,"◎")) E3:=IF(E3="","",COUNTIF(C3,"◎")+COUNTIF(E3,"◎")+COUNTIF(G3,"◎")+COUNTIF(I3,"◎")+COUNTIF(K3,"◎")+COUNTIF(M3,"◎")+COUNTIF(O3,"◎")+COUNTIF(Q3,"◎")) ・ ・ ・ seet1!CT38:DX38間に記載された記号「◎」をseet2のセルC3,E3,G3,I3,K3,M3,O3,Q3に縦に転記し、 記号「◎」の数を数えるようにしています。 しかし、seet1!CT38:DX38間に記載されたC3に対応する記号「◎」を消去しますと C3は空白になりますがD3は空にならず残りの記号「◎」をカウントしてしまいます。 C3が空の時D3も空にするにはどうしたら良いでしょうか? どうかお知恵を拝借したいと存じます。 よろしくお願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

掲示されている「どこ番地」に「どんな内容の数式」の情報が、間違いだらけのように見受けられます。 結果して、一体そもそも何がしたかったのか、さっぱり意味不明のご相談です。 もう一度ご自分の書いた内容をよく見直してください。もし必要なら、「正しい情報」を補足して下さい。 とりあえず、ご質問の直接の回答として >C3が空の時D3も空にするにはどうしたら良いでしょうか? CT38の◎を「Deleteキーで消すなどして空っぽにしている」のでしたら、 D3の数式を =IF(C3=0,"",COUNTIF( )+ … ) のように修正します。 F3の数式は =IF(D3=0,"",COUNTIF … ) のように修正します。 >C3に対応する記号「◎」を消去しますと それともDeleteキーで対応する◎を消すのとは「違う」何か別の方法で「消去」しているのでしたら、対応するセルでどうやって「◎を消して」いるのか、具体的なあなたのエクセルの目に見える状況を詳しく説明してください。 #今回のご相談とは直接関係ないですが補足として >seet1!CT38:DX38間に記載された記号「◎」をseet2のセルC3,E3,G3,I3,K3,M3,O3,Q3に縦に転記し、 もしかして、C列はC3セル一個に{=TRANSPOSE(seet1!CT38:DX38)}を記入して、「縦にした」つもりになっていませんか? 縦にするには、「C3からC33セルまでのセル範囲を選択」しておいて=TRANSPOSE(seet1!CT38:DX38)を記入し、コントロールキーとシフトキーを押しながらEnterで入力しなければなりませんが、ちゃんとできていますか?

100POINT
質問者

お礼

ご回答ありがとうございました 我流でむちゃくちゃしているもので、質問もどうしたらいいのか自分でもよく分かりません。 ですから読んでくださった方にはもっとわかりにくいと思いました。 それでも回答をいただきありがとうございました。 >=TRANSPOSE これの入力は間違っていませんでした。 表Aから転記して別表Bへデータをコピー、 そしてそれをまた転記して縦表Cに変換・・といった複雑な操作をしています。 データA表を元にして活用したく苦労しています。 ご指摘頂きましたように >=IF(C3="","",COUNTIF( )+ … ) を >=IF(C3=0,"",COUNTIF( )+ … ) 変更しましたら数字が表示されなくなりました。 しかし、部分的にカウントされた数字だけが表示されるセルもあって どうしてか未だに解りません。 やっつけ仕事ですが >=IF(C3="","",COUNTIF( )+ … ) と >=IF(C3=0,"",COUNTIF( )+ … ) 交互に書き替えますとどちらかが消えて表示されなくなりました。 これ以上質問の書き方も詳細に書くことができませんので 手作業で上記の式を変更していくことにします。 ややこしい書き方になってしまい恐縮です。 最後になりましたが、ご回答下さりお付き合いいただきましたことお礼申し上げます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 複数のCOUNTIF関数を短くしたい

    Office2013 Excelを使っていますが、 =COUNTIF(O8:bm8,"★")+COUNTIF(O8:bm8,"☆")+COUNTIF(O8:bm8,"○")  此処までは思いつきましたが、 カウントする文字 / 記号を増やす場合に、 =COUNTIF(O8:bm8,"★","☆","○","◎") ではエラーになりました。   短くする方法をご指導お願いいたします。

  • 記号のカウント

     こんばんわ! いつもお世話になっています。 今回はExcelで「B6~D6」「I6~K6」「P6~R6」列から下、行は限りなく「◎・○・▲・△・☆」が記入されます。 また、同様に「E6・L6・S6」列から下、行は限りなく「赤◎」が記入されるセルと記入されない空白のセルがあります。 そこで「◎・○・▲・△・☆」の記号のカウントを表したく、 セル「A3=赤◎・B3=◎・C3=○・D3=▲・E3=△・F3=☆」に各記号のカウントが表示されるようにいたいと思います。  ここまでなら「COUNTIF」関数で出来ると思いますが、 今回は「E・L・S」列に「赤◎」が記入されている行だけの記号 「◎・○・▲・△・☆」と「E・L・S」列の「赤◎」をカウントしたい のですが、わかる方いらっしやいましたら教えて下さい。 宜しくお願いします。

  • Excel2007でまた質問です

    Excel2007のマクロで置き換えと言うか代入という表現が正しいのかは不明なんですが、次のことがしたいです。 1、セルM29からS29までかそれ以上のセルの1つずつにデータが3つずつ入ってます。 2、それらのデータを入ってる形によって別な記号に変えてM30からS30までかそれ以上に入れたいです。 M29アイウ→M30にA N29アウイ→N30にB O29イウア→O30にC P29アイウ→P30にA Q29イアウ→Q30にD R29ウアイ→R30にE S29ウイア→S30にF ……… と、この様になんですが。お願いいたします。

  • エクセルのvbaの質問

    a b c d e f g h i j k l m n 1 p1 p2 p3 2 s1 s2 s3 s4 s1 s2 s3 s4 s1 s2 s3 s4 3 あ い う お え い あ う お え い 4 10 25 20 40 25 50 10 30 20 15 17 5 6 7 p1 p2 p3 8 =a3 =b3 =c3 =d3 9 =a4 =b4 =c4 =d4 こんな感じでデータが入ってます。 p1の内訳がs1からs4という感じです。 で、a7からc3にp1,p2,p3とありますが、これをクリックしたら、 またはa7にp1とかp2と入力したら、a8からd9にそれぞれの内訳が参照されるようなマクロを組みたいのです。 どうか教えてください。 見づらいですね。 データはa1,f1,k1にそれぞれp1,p2,p3 a2からd2,f2からi2,k2からn2にそれぞれs1,s2,s3,s4 a3あ,b3い,c3う,d3"",e3"",f3お,g3え,h3い,i3あ,j3"",k3う,lお, m3え,n3い a3 10,b3 25,c3 20,d3 "",e3 "",f3 40,g3 25,h3 50,i3 10,j3 "",k3 30,l3 20,m3 15,n3 17 a7 p1,b7 p2,c7 p3 a8からd9の"=a3"から"=d4" です。 3行目、4行目は必ずしも全部埋まってなくて、スペースが入る場合があります。 よろしくお願いします。

  • SUMPRODUCT関数について

    対象は D10からK39 リストは AD1からAJ1まで で、 各列にリストの文字のある数をあらわしたい。 以前、(例えばDの列) 40行目に =SUMPRODUCT(COUNTIF(E10:E39,$AD$1:$AJ$2)) でどうかと教えてもらい、うまくいってはいますが、理解ができていません。 今後のために =COUNTIF(D10:D39,$AD$1:$AJ$2) ではなぜダメなのかを理解したいんですが?

  • この場合の関数を教えてください。IF関数とCOUNTIF関数?

      A      B    C  D  F  G 1 12300 2 9800 3 14500 上記の様な表($a$1:$d$3) がある時、 B1 ◎      D1 △   F1◎     C2◎         F2△ B3△      D3◎ F1 に◎を入れた時に、 もし、A列の値が10000より大きいなら(注)、範囲$a$1:$d$3の◎の数を数え結果をG1に2と表示させたいです。(F2に△と入れたら2と表示) (注) 1行目は、12300(A1)なので1行目はカウントの範囲。 2行目は、9800で10000より小さいのでカウントの範囲から外れる。 3行目は、14500はカウントの範囲。 2行目の◎(C2)はカウントされないようにするには、 G1にどのようなCOUNTIFの関数を入れればよいのでしょうか? いつも教えているので、考えたのですが? =IF(A1>10000,COUNTIF($B$1:$D$3,F1),"0")では、間違いとは気づいたのですが? (A1>10000が間違い)どの様にして良いか解りません。 どなたか教えてください。宜しくお願いいたします。 (見にくい表で申し訳ありません)

  • エクセルのCOUNTIF関数で条件が2つある時

    すみません、どなたか教えてください。 シート2のセルD5には数式「=COUNTIF(INDIRECT($C$43),B5)」があり「2」と表示されています。 $C$43は数式「="1!$C$5:$C$"&E42」でE42セルには32の数字が入っています。つまりシート1のセルC5からC32までとシート2のB5が等しかったらシート2のセルD5に「件数を表示」です。 1件の条件の時のカウントはできました。 問題はこの次に、シート1のセルD5からセルD32とシート2のセルE5と等しいときにの条件を加えて「件数の表示」をしたいのですが、二つの条件があるときの書き方が分かりません。 つまり、 シート1のセルC5からセルC32までに入っている文字(1イ、2ロ、5,1ロ・・・)とシート2のB5の文字(1イ)が同じで、かつ、シート1のセルD5からD32までに入っている数字(23、19,21,40・・・)とシート2のセルE5の数字「23」と同じ時の件数を数えたい。と言うことですが、うまく説明できなくてすみません。 シート2のセルD5に数式「「=COUNTIF(INDIRECT($C$43),B5,IF(INDIRECT($D$43),E5,0))」 だとエラーになってしまいます。$D$43は「=1!$D$5:$D$"&E42」、E5はシート2のセルE5です。 おしえてください。

  • エクセルの関数を教えてください。

    こんにちは。 過去で探したのですが、解決しなかったので、お願いします。 COUNTもしくはCOUNTIFだと思うのですが、出来ないんです。 例:A1、C1、F1、H1、K1・・・と不規則なセルを対象として、セルに数字(0.1以上)が入っていた場合のみカウントを「1」として数えたいのです。0.0は数えないようにして。 よろしくお願いします。

  • VBA変数とワークシート関数を一緒に使う

    お世話になります。マクロ初心者です。 【VBA変数とワークシート関数を一緒に使う】事はできないのでしょうか? 下記以上の多数のパターンで試しましたが使えません(本にも例がありません)。 「使える」「使えない」だけで構いませんのでご教示ください。 (WorksheetFunctionに関しては別途質問させて頂きます) 一応使用例を書いておきます。 コメント「@数をカント3」で試していますが、下3つのような ワークシート関数のような使い方(貼付)ができればと思っています。 A1に \#%&/*@ C1:H5に 108@78 8@725@ 666@98 @@32@9 7@751@ (各セル1文字ずつ)を入れます。 Sub count() Dim o As String, p As String o = "=CountIF(R[-7]C[2]:R[-3]C[7],Right(R[-7]C[0],1))" p = "=CountIF((C1:H5),Right(A1,1))" With Sheets("Sheet1").Cells(6, 1) '@数をカント1 .Activate .Value = "=""@カウント = "" & CountIF(R[-5]C[2]:R[-1]C[7],Right(R[-5]C[0],1))" With Sheets("Sheet1").Cells(7, 1) '@数をカント2 .Activate .Value = "=CountIF((C1:H5),Right(A1,1))" With Sheets("Sheet1").Cells(8, 1) '@数をカント3 .Activate ' .Value = o ' ' .Value = p                  ' ' .Value = """@カウント = "" & o" '使えない ' .Value = "=""@カウント = "" & ""p""" '使えなさいよ ' .Value = "=""@カウント = """ & p '使えておくれ End With End With End With End Sub

  • 複数条件の番号付けについて

    「メーカー」「商品」「販売可否」のある行に対し、以下の条件付きで番号を1から振りたいと考えています。 条件1: メーカー及び商品が重複した行があれば、既に振られた番号にする 条件2: 販売可否が空白の場合は無視する 条件3: 同じメーカーが連続するように番号を振る 条件4: 元の表は並び替えなどの加工は出来ない 一応、添付画像のような形で実現は出来ています。 以下のような式を使っています。 (1)G4:G21 =IF(COUNTIF(C$3:C3,C4)=0,MAX(G$3:G3)+1,VLOOKUP(C4,C$3:G3,5,FALSE)) (2)I4:I21 =IF(COUNTIF(D$3:D3,D4)=0,MAX(I$3:I3)+1,VLOOKUP(D4,D$3:I3,6,FALSE)) (3)K4:K21 =IF(E4<>"",G4*1000+I4,"") (4)M4:M21 =INT(IF($K4<>"",SUMPRODUCT(($K$4:$K$21<>"")*($K$4:$K$21<=$K4)/COUNTIF($K$4:$K$21,$K$4:$K$21)),0)) (4)で算出される値を得るために、(1)(2)(3)の行を使っています。 ちなみにこの(4)の値を使って、B24:D37の表を作っています。 ※画像では省略していますが、メーカー・商品ごとの台数・金額合計の表になります。 この表で使っている式は以下の通りとなります。 (5)B26:B37 =IF(MAX(B$25:B25)+1>MAX($M4:$M21),"",B25+1) (6)C25:C37 =IFERROR(INDEX($C$4:$E$21,MATCH($B25,$M$4:$M$21,0),1),"") (7)D25:D37 =IFERROR(INDEX($C$4:$E$21,MATCH($B25,$M$4:$M$21,0),2),"") 質問としては、(4)を求める為に4列使っているものを減らせられないか、理想は1列ですがせめて2列に纏められないかと思っております。 何卒、宜しくお願い致します。

専門家に質問してみよう