プロが教える店舗&オフィスのセキュリティ対策術

 EXCEL 2003 です。
 エクセルの行と列を入れ替えたいのですが、Transeposeという関数を使ってもうまく出来ません。
 ヘルプをみてもさっぱり分かりません、事前に配列とかに変換しておくのでしょうか、配列への変換関数もなさそうですし。
 誰か宜しくお願いします。
 また、これは表題(文字)を含めていても出来るのでしょうか、それともデーター(数字)だけなのでしょうか。
 ヘルプの通りにしても何故だめなのでしょうか、宜しくお願いします。

A 回答 (10件)

>その日付の書式設定を数式にすると出てくる数字



数式ではなく数値でした、失礼しました(_ _;)
    • good
    • 0

#4です。


まず、DATEIFではなく、DATEDIFにしてください。
それと日付を直接入れるのではなく、シリアル値(その日付の書式設定を数式にすると出てくる数字)を入れなくてはいけないので、DATE関数を使用してください。
以下の数式でちゃんと出るはずです。
=DATEDIF(DATE(2005,3,5),TODAY(),"Y")
    • good
    • 0
この回答へのお礼

mayomayo20さん、有難う御座います。
全て解決しました、今後とも宜しくお願いします。

お礼日時:2008/03/30 17:34

#4です。


私は今回の質問をみて、初めてTRANSPOSEを使ってみました。
ネットで検索し、#4に貼り付けたURLを見ながら操作しましたが、
そちらは見ていただけましたか?
#7さんも記載していますが、このURLには「配列数式」にしなければいけない、と書いてあります。
ヘルプの上のほうに「配列数式」と青い字でありませんか?そちらをクリックすると「shiftとCtrlとEnter」について出てきます。

「DATAIF」関数についてですが、
どのような数式にしているかわからないので、こちらも答えようがないです。補足をお願いします。
あと、スペルは「DATEDIF」だと思います。
    • good
    • 0
この回答へのお礼

 mayomayo20さん、早速のレスを有難う御座います。
 ヘルプのリンクまではクリックしなかったです、すみません。
 確かに、「shiftとCtrlとEnter」についてのコメントが出てきました。

 「DATEIF」関数についてですが、入力式は
 ⇒ 【=dateif("2005/3/5","2007/3/5",y)】こんなかんじです。
 ⇒ あと【=dateif("2005/3/5","TODAY()",y)】としても
 ⇒ やはり【#NAME?】となります。
  ⇒ 因みに【=dateif("2005/3/5","NOW()",y)】としましたら
  他のエラーメッセージが出てきましたので、それ以外の関数式は間違っていないと思うのですが。
  勿論関数式は半角小文字で入力しています。

 以上宜しくお願いします。

お礼日時:2008/03/29 10:29

1.Transeposeは配列数式だから、行列を入れ替えた範囲(元の表が3行4列なら4行3列)の範囲を選択して、Transepose関数を呼びだし、元の表の範囲をドラッグ入力したあと、Okを押さずに元の表を入れたボックスをクリックして、Ctrl+Shift+Enterを同時に押す。

または、Okを押したあと数式バーをクリックして、Ctrl+Shift+Enterを同時に押してもよい。

または、「形式を選択して貼り付け」で、
2.同じ位置で行と列が入れ替わると思っていないか。
元の表とは関係のない別の位置に行と列が入れ替わった表ができるのだが。
こっちをつかえ。
    • good
    • 0

質問の要件を抽象して、具体例を挙げて質問すること。


漠然としていて、質問者の状況がわからない
(1)形式を選択して張り付け
  行列を入れ替える
の操作は知っていて、やってみたのか。
普通はTRANSPOSE関数より、こちらをやってみるのが多いと思うが。
(2)TRANSPOSE関数を使ってどのようにしたのか
をかかずして状況がわからない。
ただしこの関数は選択の余地はない。
この関数を使った結果が、質問者の思う並べ替えと違う場合は
この関数が使えないということだ。この関数では並べ替えは指定する引数などもなく、決まったルールで行われるのだから。
 気に食わない場合は別のことを考えるべきだ。気に食わない点は何か?それを書くことが肝心だ。
    • good
    • 0

#4です。

追記します。
こちらを試してみてください。
まず元の表が「4列5行」ならば、入れ替えた表を作りたいところの
空白セルを「5列4行」ぶんドラッグします。
関数ウィザードのTRANSPOSEをクリックします。
配列に元の表を入れます。(例の場合ですとA1:D5ですね。)
「OK」をクリックせずに、shiftとCtrlとEnterを一緒に押してください。
これで入れ替えができるはずです。
    • good
    • 0
この回答へのお礼

 mayomayo20さん、有難う御座います。
 実は最後のところで「OK」を押していたら、変換先の最上部の一番左のセル1箇所だけにオーバーフローをした時のような
エラーメッセッジがいつも表示されるばかりでした。

>「OK」をクリックせずに、shiftとCtrlとEnterを一緒に押してください。
 
 これってどうしてこの関数だけこのようにして確定するのですか。
 この操作方法はどこかに書いているのでしょうか、全く初めて知りました。
 ヘルプを大分調べましたがどこかに書いているのでしょうか、皆さんは何故この操作方法を知っているのですか。
 
 ヘルプを調べたのですが「配列」という言葉が何回も出てきたので、元のデータ-を配列定義してやる必要があるのかと、エラーの
原因はそれだろうとばかり考えていましたが、配列の定義関数もなく。。。。
 編集からの操作方法は全く知りませんでしたので、調べもしなかったです。

 いずれにしても有難とう御座いました

 ところで、もう1点どうしても教えて頂きたいのですが、「DATAIF」関数をいくら操作しても反応しません、エラーメッセッジも
出ないし何んの反応もしません。
 入力が間違っているとエラーメッセッジが出るので、関数は正しく定義されていると思うのですが、この原因が分かれば教えて
頂けないでしょうか。
 これは、アプリのバージョンに関係しているのでしょうか。
 (誰かにそのように聞いたような聞かないような。。。)
 参考書を見ながら正しく入力して操作方法も間違っていないと思うのですが、何回やっても正しく動作しません、宜しくお願いします。

お礼日時:2008/03/29 00:02

トランスポーズを使用すれば元データを変更しても反映がされますね。


もちろん表題も入れ替えできます。
なにが悪くて上手くできないのか私にはわかりませんので、
こちらのページを参照してもう一度やり直してみてください。
http://akubizzz.hp.infoseek.co.jp/sub152.html
http://ohpa.net/modules/xlnote/content0026.html
    • good
    • 0
    • good
    • 0

入れ替えたい範囲を選択します。


選択した範囲をコピーします。
コピー先のセルをどれか一つ選択して、メニューの「編集」、「形式を選択して貼り付け」で「行列を入れ替える」にチェック。
    • good
    • 0

エリアを選択してコピーまたは切り取りをして、


貼り付ける際に「形式を選択して張り付ける」を選ぶと
「行列を入れ替える」というチェックボックスがありますが
これではいけないのでしょうか?
    • good
    • 0

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